The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Компания Google представила J2ObjC, открытый транслятор из Java в Objective-C

14.09.2012 13:06

Компания Google представила новый открытый проект J2ObjC, в рамках которого развивается транслятор, преобразующий исходные тексты на языке Java в представление на языке Objective-C, пригодное для использования в приложениях для iPhone и iPad. Код транслятора написан на языке Java и распространяется под лицензией Apache.

По задумке разработчиков, J2ObjC позволит унифицировать процесс разработки приложений на языке Java, ориентированных на использование в различных мобильных платформах. В частности, предлагается основу приложения, не связанную с обеспечением работы пользовательского интерфейса, разрабатывать на языке Java, а обвязку с реализацией интерфейса с использованием родных средств платформы. Например, базовый Java-код, определяющий логику работы приложения и методы обработки данных, может быть использован в программах для платформы Android, iOS или в web-приложениях (трансляция Java в JavaScript осуществляется при помощи инструментария GWT).

Что касается разработки для iOS, то в процессе сборки приложения компоненты на языке Java будут прозрачно транслироваться при помощи J2ObjC в код на Objective-C, позволяя сформировать итоговый проект целиком на Objective-C. J2ObjC не является эмулятором и позволяет формировать полноценные итоговые проекты на языке Objective-C, что полностью соответствует требованиям компании Apple в отношении используемых средств разработки. Интересной особенностью J2ObjC является то, что транслятор осуществляет преобразование Java-классов в соответствующие классы Objective-C, позволяя напрямую использовать iOS Foundation Framework.

В J2ObjC поддерживаются все возможности языка Java 6 и большая часть runtime-функциональности, используемой в клиентских приложениях, включая исключения, внутренние и анонимные классы, generic-типы, потоки и отражения. Также поддерживается трансляция в Objective-C и запуск тестов JUnit. Для сборки могут быть использованы штатные инструменты, такие как Xcode и Make. В рамках проекта J2ObjC не планируется предоставление унифицированного платформонезависимого тулкита для разработки пользовательского интерфейса, т.е. для создания интерфейса для iOS требуется создание обвязки на Objective-C и Objective-C++, использующей Apple iOS SDK, для Android требуется использование Android SDK, а для web-приложений - GWT.

  1. Главная ссылка к новости (http://google-opensource.blogs...)
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/34840-j2objc
Ключевые слова: j2objc, java, objective-c, ios, compile, tanslator
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Rikkit (?), 13:46, 14/09/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Это чтобы изначально для андроида писали чтоли?
     
     
  • 2.2, Аноним (-), 14:03, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Поражаюсь вашей проницательности.
     
     
  • 3.3, Vernat (ok), 14:21, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +20 +/
    Расстроен Вашей язвительностью
     
  • 2.4, анон (?), 14:21, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    да а потом коряво портировали под иос, что в итоге приведет к их кривости XD
     
     
  • 3.5, Ограждение (?), 14:25, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Яблоко не пропустит, у них там строго, как в КНДР.
     
     
  • 4.6, Аноним (-), 14:54, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Яблоко даже и не узнает.
     
  • 4.7, анон (?), 15:09, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    тогда возникает вопрос зачем гугл вкладывал в этот инструмент деньги, раз все так бесперспективно
     
     
  • 5.17, другой аноним (?), 17:26, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    в любой крупной компании есть "стрельнувшие" и "не стрельнувшие" проекты.  В "не стрельнувшие" тоже сначала вкладывают деньги, пока не убедятся что они "холостые" или "очень не меткие". Это без всякой привязки к этой новости, просто не надо так категорично кидаться утверждениями
     
     
  • 6.19, анон (?), 17:48, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    нуну, перед тем как чтото делать очевидно рассмотреть возможные варианты последствия и перспектив чем вслепую начать пилить неизвестно что, так что про стрельнувшее и нестрельнувсшее ненадо, они там наверняка 10 раз подумали что из этого получится и чем им это грозит
     
     
  • 7.24, XoRe (ok), 18:38, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > нуну, перед тем как чтото делать очевидно рассмотреть возможные варианты последствия и
    > перспектив

    Выстрелит или нет - однозначно сможет сказать только машина времени, и даже она ошибается (влияние предсказания на будущее).
    Все остальное - вероятностное.

    > они там наверняка 10 раз подумали что из этого получится и чем им это грозит

    Подумали.
    Поэтому и "стреляют")
    Грубо говоря, полезность стреляния подтвердит расчет с точки зрения минимакса из теории игр.
    Есть шанс потерять стоимость разработки(правда, он 100%ный).
    Есть шанс получить миллиарды.

     
     
  • 8.38, all_glory_to_the_hypnotoad (ok), 00:17, 15/09/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    на счёт топика однозначно можно сказать что не выстрелит, так же, как и не выстр... текст свёрнут, показать
     
     
  • 9.42, Crazy Alex (ok), 03:35, 15/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Напомните, в каком это месте NaCl прослойка А лучше - не несите чушь Это ж над... текст свёрнут, показать
     
  • 9.48, kurokaze (ok), 19:25, 15/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Как iOS Android разработчик смотрю на тебя как на профана... текст свёрнут, показать
     
  • 9.52, XoRe (ok), 19:21, 17/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Я в общем говорил Если все же выстрелит, согласитесь пересмотреть свою точку зр... текст свёрнут, показать
     
  • 4.8, Tav (ok), 15:32, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Они могут попробовать запретить использовать транслятор. Но как они проверят?

    В любом случае, лучше вообще не иметь дел с Эпплом и не разрабатывать под iOS, чем потом ныть в блоге о том, что твое прекрасное приложение забанили. А если забанили, то сам виноват, знал же с кем связался.

     
     
  • 5.9, Ограждение (?), 15:36, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ёёё, не транслятор распознавать будут, а всегда распознавали кривые приложения. Будет кривоту транслировать - не пропустят.
    С Яблоком связываться нужно, если деньги хочешь заработать, увы и ах.
     
     
  • 6.46, Tav (ok), 13:27, 15/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Зарабатывать *достаточно* можно и не связываясь с Эпплом и вообще оставаясь верным своим принципам. Зарабатывать максимально много — зачем?
     
  • 5.49, kurokaze (ok), 19:26, 15/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > В любом случае, лучше вообще не иметь дел с Эпплом и не
    > разрабатывать под iOS, чем потом ныть в блоге о том, что
    > твое прекрасное приложение забанили. А если забанили, то сам виноват, знал
    > же с кем связался.

    Походу ты даже требования к публикуемым в аппсторе приложениям не читал. Наверняка у тебя даже нету id разработчика

     
  • 3.25, XoRe (ok), 18:39, 14/09/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > да а потом коряво портировали под иос, что в итоге приведет к
    > их кривости XD

    Вы раскрыли тайный замысел - увеличить кривизну приложений в иосе! :)

     

  • 1.16, Аноним (-), 17:23, 14/09/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    java писана на си. java опять перепиливается в каой-то си.
    Где-то тут обман.
     
     
  • 2.39, VoDA (ok), 00:35, 15/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Если под java называть компилятор, то он написан на самой java. Если библиотеки, то большая часть опять же java. На си только часть JVM. В JVM еще и ассемблерный код бывает, правда его постепенно выпиливают.

    PS JVM может быть полностью переписана на java, только это не окупится, потому и не сделано.

     

  • 1.18, evgeny_t (ok), 17:47, 14/09/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    сначала гугл нае обманули оракл теперь яблоко )
    android это не java
    это не java это objC
    )
     
  • 1.20, Anon2k (ok), 17:56, 14/09/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это выглядит определенно выгодней изначально убогого Monotouch.
     
  • 1.36, A.N.Onim (?), 22:59, 14/09/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Мне кажется, или логичнее было бы выпустить обратный транслятор (ObjC -> Java-Android)?
     
     
  • 2.40, VoDA (ok), 00:36, 15/09/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Мне кажется, или логичнее было бы выпустить обратный транслятор (ObjC -> Java-Android)?

    Кажется. Программистов на Java много больше программистов на ObjC.

     
     
  • 3.58, Кирилл (??), 14:34, 18/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Программистов на Java много больше программистов на ObjC.

    "Программист на Java" понятие очень уж растяжимое.

     

  • 1.37, Аноним (-), 23:11, 14/09/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А есть Java2C ? Ну или хотябы Java2C++ ?
     
     
  • 2.41, VoDA (ok), 00:38, 15/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А есть Java2C ? Ну или хотябы Java2C++ ?

    А зачем, если не секрет?

    Компиляторы собирающие из java кода бинарь (exe) есть, только они ну очень нишевые. А преобразователь в С или С++ код какой бонус может принести?

     
     
  • 3.44, Аноним (-), 12:03, 15/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    gcj
     
  • 3.51, Аноним (-), 00:12, 17/09/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Запускать бинарь там где нет жабы - чёж не понятного?

    При этом С есть подо всё, но писать на нем что то внятное могут только достаточно опытные прогеры. А это дорого. На жабе же быдлокодить может любая мартышка, и это как то даже работать будет. Скрестить ежа с ужом - и нате вам профит :)

     
     
  • 4.56, Кирилл (??), 14:06, 18/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > При этом С есть подо всё, но писать на нем что то
    > внятное могут только достаточно опытные прогеры. А это дорого. На жабе
    > же быдлокодить может любая мартышка, и это как то даже работать
    > будет. Скрестить ежа с ужом - и нате вам профит :)

    Довольно предвзятое и обывательское мнение. Порог входа в деятельную разработку на Яве для новичка сейчас крайне высок. Скажем на том же Obj-С создавать что-то для iPhonе-а как раз может ну если не каждая мартышка, то через одну точно. А под Андроид писать не то чтоб сложнее -- тут вопрос не сложности самого процесса -- сложнее въехать что куда и зачем. Кривая обучения куда более крутая.

     
  • 3.57, Кирилл (??), 14:10, 18/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> А есть Java2C ? Ну или хотябы Java2C++ ?
    > А зачем, если не секрет?
    > Компиляторы собирающие из java кода бинарь (exe) есть, только они ну очень
    > нишевые. А преобразователь в С или С++ код какой бонус может
    > принести?

    "Бинарь" собирает любой джит. Любой, а не какие-то "ну очень нишевые решения". Любой современный ЕЕ-сервак наиболее востребованный код компилит в память в бинарь.

     
  • 2.55, Кирилл (??), 14:01, 18/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А есть Java2C ? Ну или хотябы Java2C++ ?

    Есть. Вот хотя бы сабж. Obj-C это Си и есть, только с присобаченным синтаксисом смолтолка.


     

  • 1.50, kurokaze (ok), 19:30, 15/09/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Отлично!
    Значение новости может понять только тот кто одновременно и под iOS и под Android разрабатывает.
    Даже если делить проект между несколькими людьми - логику можно на java вынести - уже экономия ресурсов.
    Это намного более приятный и удобный вариант чем глючные PhoneGap/Titanium

     
     
  • 2.54, Кирилл (??), 12:12, 18/09/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Я разрабатываю и считаю подобные приблуды абсолютно бесполезными и даже вредными.
     

  • 1.53, Кирилл (??), 12:12, 18/09/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Бесполезный костыль. Да и фаундэшэн обеспечивает только базовый функционал. Зачем его вообще упомянули? Самый верный путь это делать логику вообще не зависимой от  реализации -- хорошо проектировать, а не хвататься сразу лабать код на том, что сердцу ближе.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру