Статьи

Codename One, кроссплатформенная «нативная» разработка

«Ява мертва»

«DotNET убил Java»

это фразы, которые я много слышу в эти дни. Но так ли это? Java действительно мертва?

По сравнению с другими языками, такими как JavaScript, Python или Ruby, у Java гораздо более крутая кривая обучения.

Один не просто убивает язык выбора 9 миллионов разработчиков . Один не просто убивает базовый язык Android . И, наконец, нельзя просто убить язык кросс-мобильной платформы .

Java на каждом мобильном … подожди, что?

Codename One — это способ создания собственных мобильных приложений для Android, iOS, BlackBerry и Windows Phone с использованием одного и того же исходного кода Java. Собственные приложения Android используют Java, а iOS, BlackBerry и Windows Phone — нет. Codename One выполняет переводы вашего Java-кода в собственный код для каждой из этих платформ, что иногда приводит к более быстрым приложениям, чем к собственным версиям.

Codename One является открытым исходным кодом для коммерческого и некоммерческого использования.

Кодовое имя один против мира

Есть и другие платформы, которые делают что-то похожее на Codename One. Используя Cordova / Phonegap, вы можете создавать гибридные кроссплатформенные приложения для каждого устройства. Титаниум Appcelerator дает вам возможность создавать почти кроссплатформенные приложения, используя Javascript, который выполняется на движке Javascript (только для Android и iOS). Существует Xamarin, который использует C # для кроссплатформенной разработки, но вам все еще нужно написать некоторый нативный код .

Кодовое название One отличается от всего вышеперечисленного.

Codename One обладает производительностью, которую гибридное приложение не может иметь. Там нет задержки 300 мс с нативными приложениями. Создание приложений с использованием CSS и JavaScript может быть сложным для отладки, многие из этих проблем не возникали бы при разработке под Codename One.

Вам не нужен Mac для разработки приложений для iOS, для него не требуются собственные SDK. Приложение создается в облаке с использованием сервера сборки . После сборки приложение можно загрузить на рабочий стол или напрямую на мобильный телефон.

Серверы сборки Codename One выполняют работу по преобразованию кода Java в собственный код и производят удивительно оптимизированный код. В iOS переведенный код Java может работать в 3 раза быстрее, чем собственный код Objective-C. Единственное, что быстрее этого, — это код, написанный вручную, не простая задача.

Obj-C против CodenameOne

Установка

Вы можете установить Codename One в любую Java IDE, такую ​​как Eclipse, NetBeans и IntelliJ IDEA. Не Android Studio, хотя он использует другой движок сборки.

Вы можете следовать этим учебникам для IntelliJ IDEA и NetBeans . Я покажу, как установить с Eclipse.

В Eclipse откройте Help -> Install New Software… , затем Add…, чтобы добавить репозиторий с именем Codename One

https://codenameone.googlecode.com/svn/trunk/CodenameOne/repo/eclipse/site.xml

Добавление кодового имени одного репо

После этого выберите все элементы и примите условия соглашения для установки плагина Codename One.

Принятие условий соглашения

После перезапуска среды IDE вы можете создать новый проект Codename One, нажав CTRL / Cmd + N и выбрав CodenameOne Project из мастера.

Создание нового проекта

Установите имя вашего проекта (я устанавливаю его HelloCodenameOne Далее вы можете установить имя основного класса, пакет и выбрать тему и шаблон.

Выбор темы

После нажатия кнопки « Готово» у вас появится базовое приложение Codename One, которое можно запустить, нажав кнопку « Выполнить» в среде IDE. Это запускает симулятор, и Codename One поставляется с большим количеством из них.

Кодовое название одного эмулятора

Как с графическим интерфейсом?

Каждый разработчик нуждается в GUI Builder и Designer. Codename One поставляется с дизайнером .

Codename One сохраняет пользовательский интерфейс в файле ресурсов и может быть разработан без доступных исходных файлов. Java не требуется для создания GUI, вы просто перетаскиваете элементы на экран. Кодовое название One LIVE! Приложение может показать предварительный просмотр вашего дизайна, как вы делаете это.
Вам не нужно беспокоиться о нескольких точках на дюйм, потому что Дизайнер обрабатывает это за вас, используя алгоритм масштабирования изображений для разных экранов.

Чтобы открыть инструмент «Дизайнер», найдите theme.res

Структура кода

Это запустит инструмент Designer, где вы сможете настроить свою тему, использовать GUI Builder, шрифты, изображения и так далее.

Кодовое имя одного GUI Builder

На вкладке GUI Builder нажмите кнопку Main . В правой части экрана вы увидите базовый дизайн приложения. Вы можете дважды щелкнуть ярлыки с надписью «Hi World», чтобы изменить их. Я устанавливаю один «Hello CodenameOne», а другой «Первое приложение CodenameOne».

Сохраните это и перезапустите приложение. Ваше новое приложение должно выглядеть так:

Приложение работает в эмуляторе

Сервер сборки

Чтобы отправить новое приложение на сервер сборки, щелкните правой кнопкой мыши проект и выберите CodenameOne -> Send {{platform-name}} build . Затем войдите в свою учетную запись CodenameOne, и приложение будет отправлено на сервер сборки для добавления последних штрихов и может быть загружено.

Вывод

Он использует самый используемый в мире язык программирования, лучшие и самые популярные IDE, он быстр и помогает вам развернуть его везде, где бы он ни находился. Это лучший инструмент Java iOS, который поддерживает принцип «Один раз напиши, работай где угодно» (WORA).

Но!

Конечно, после стольких положительных моментов должны быть и отрицательные. С Codename One это в основном стоимость. Хотя многие из функций, о которых говорилось выше, доступны для экспериментов бесплатно, для запуска ваших приложений в производство вам, вероятно, понадобится одно из их коммерческих предложений . Взвешивание стоимостных преимуществ WORA против стоимости Codename One — это решение, которое вам нужно будет принять.