2010-11-24 3 views
4

몇 년 전 Mac 소프트웨어를 작성하고 Java WebObjects에 많은 경험을 쌓기를 원했지만 Java Bridge를 사용해 보았지만 총알을 물고 Objective-C를 배우기로 결정했습니다. (다행히도 내 소프트웨어가 브리지로 사용되지 않는 것을 싫어하기 때문에 다행히도). 나중에 나는 RubyCocoa로 어리 석다. Ruby를 배웠지 만 실제로 다리가 성숙했거나 안정적이지 않다는 것을 알았고 결국 Objective-C로 코드를 포팅했다.PyObjC/Ruby bridge. 그것은 가치가 있니?

몇 년이 지났기 때문에 MacRuby에 시간을 투자하거나 PyObjC를 사용하기 위해 Python을 배우는 것이 가치가 있는지 궁금합니다. Objective-C가 마음에 들었지만 루비 브릿지가 충돌하지 않을 때 더 생산적이었습니다. 나는 crashy 소프트웨어로 다시 끝내기 위하여 투자 시간을 다시 미워할 것이다.

답변

3

나는 교량 중 하나를 시험해보고 싶다면 MacRuby를 사용하는 것이 좋습니다. 루비에서 일하는 Apple의 수석 소프트웨어 엔지니어 인 Laurent Sansonetti가 개발했습니다.

이제는 상당히 기능적이며 네이티브 프레임 워크와 잘 통합됩니다. 한 번해볼만한 가치가 있습니다. 특히 이미 Ruby 경험이있는 경우에 유용합니다.

+0

MacRuby는 코코아 프로그래밍을 배우려는 사람에게는 시간의 낭비입니다.그것은 놀라 울 정도로 잘 쓰여진 다리입니다 - 지금 가장 좋은 것 중 가장 좋은 것입니다.하지만 여전히 프랑스어 수업을 듣고 스페인어로 모든 논문을 쓰기를 좋아합니다. – bbum

+2

예, 질문을 읽었을 때, 이것은 코코아 (또는 Obj-C)를 배우는 방법을 묻는 사람이 아니라 오히려 그 경험이 있고 다른 언어로 생산성을 높이는 지 궁금해하는 사람입니다. – paulbailey

+1

Mac 소프트웨어 (Mac GUI 소프트웨어라고 가정)를 작성하려면 Bridge를 사용하는 것이 Ruby 또는 Python의 사용 경험에 관계없이 시간 낭비입니다. API, 문서 및 디자인 패턴은 모두 기본적으로 Objective-C입니다. 어쨌든 간단한 응용 프로그램을 제외한 모든 응용 프로그램을 작성하는 방법을 이해하려면 코드를 작성하기에 충분할만큼 언어를 알아야합니다. 다리의 임피던스 불일치로 싸우는 것은 그만한 가치가 없습니다. – bbum

0

내 개인 의견은 Mac 기본 응용 프로그램의 경우 ObjC를 사용합니다.

의심스러운 지원이있는 신뢰할 수없는 인터페이스없이 기본으로 작동해야하는 곳에서 Ruby/Python을 사용하십시오.

1

코코아 프로그래밍을 배우려면 브리지를 무시하십시오. 그들은 서면 코코아 응용 프로그램을 더 어렵게 만 만들 것이며 속도를 높이는 데 많은 시간을 낭비 할 것입니다.

특히, 시스템 프레임 워크의 API와 디자인 패턴을 모두 이해하려면 Objective-C를 배워야합니다. 또한 모든 문서와 도구는 Objective-C를 지원하도록 특별히 작성되었습니다.

코코아 프로그래밍 학습에 많은 시간을 들여 API와 디자인 패턴에 소비하게됩니다. 상대적으로 실제 언어 부분은 작습니다.

브리지는 한 언어에서 다른 언어로 동일하지 않은 기능을 매핑하려고 할 때 필연적으로 임피던스 불일치가 발생합니다.

솔직히 Ruby를 알고 있다면 Objective-C를 쉽게 이해할 수 있습니다. 객체 모델은 매우 유사합니다.

+0

나는 프레임 워크가 쓰여지는 언어를 배우는 대신 다리를 선택하는 것에 동의한다. Ruby 객체 모델 유사성에 대해서도 마찬가지다. – uchuugaka

0

여기에 시간 낭비가 아닙니다. 경우에 따라 Ruby와 Python은 Objective-C에서 사용할 수없고 잘 될 수없는 멋진 라이브러리를 제공합니다. 이것이 최고의 사용 사례 중 하나입니다.

예 : Objective-C에서 레일즈를 다시 구현하고 싶지는 않지만 (일부 사람들은 가능할 수 있습니다.) MacRuby를 사용하여 Cocoa 응용 프로그램을 강화하기 위해 일부를 쉽게 사용할 수 있습니다.

음 MacRuby가 죽었습니다. 상용 RubyMotion이 있습니다.

여전히 PyObjc, RubyCocoa 및 mruby가 있습니다.

다른 흥미로운 사용 사례 중 하나는 AppleScript 및 OSA처럼 악취가 나는 스크립트 기능을 제공하는 것입니다.

유효한 이유가 있습니다.