Страницы

Поиск по вопросам

вторник, 17 декабря 2019 г.

Что использовать для разработки кросс-платформенного мобильного приложения, активно использующего сеть и БД?

#java #android #ios #кроссплатформенность #мобильные_приложения


Я программирую под Android и сейчас делаю простенькое мобильное приложение, по функционалу
напоминающее обычный мессенджер.
В этом приложении я использую клиент-серверную архитектуру. Сервер написан на Java
с расчётом на то, что будет развёрнут на Google App Engine. Нативный клиент под Android
делает HTTP запросы к серверу, а сервер посылает сообщение через Google Cloud Messaging
адресату или адресатам или отвечает на запрос объектами в JSON-формате. Кэш в СУБД
SQLite.  

И вот сейчас (когда приложеньице уже почти готово =)) я начал задумываться как же
мне портировать (хотя бы часть функционала) на другие платформы: iOS и Windows Phone.
Писать под каждую платформу своё приложение с нуля, мне кажется, будет затратным, т.к.
я раньше не программировал под iOS и Windows Phone. Пожалуйста, если вы обладаете богатым
опытом в области создания кросс-платформенных мобильных приложений, подскажите, как
можно упростить создание и поддержку таких приложений.  

Вот, что я нашёл:



Delphi XE          | Delphi, native compilation  | Delphi developers
Unity3D            | C#, UnityScript, Boo        | Game developers


Сейчас я смотрю в сторону j2objc, JUniversal и Appery.io (грубо говоря, обёртка над
PhoneGap). И у меня такой вопрос: Какой из этих продуктов наиболее подходит для моего
приложения?

В частности,


Смогу ли я использовать вместе с ними RetroFit и ActiveAndroid?
Будут ли работать Push Notifications (GCM / APN / MPNS)?


ps. Я рассматривал и отказался от Unity3D и Delphi XE, потому что, мне кажется, они
сильно увеличат размер моего небольшого приложения. Я отказался от Xamarin, потому
что я не .Net-разработчик.
    


Ответы

Ответ 1



Месяц работаю на Xamarin, пока все нравится. Если вы сторонник ООП, тогда лучшего и более охватывающего кросп. средства не найти. Сложные приложения пишутся без особых проблем, не говоря уже о простых. Компилятор работает шустро, я бы сказал не уступает оригинальной андроид студии. Очень удобна работать с отладкой и профилированием. Если же вы сторонник веб технологий то я бы смотрел в сторону кордовы.

Ответ 2



Flutter — новый инструмент от Google, позволяющий разработчикам писать кроссплатформенные мобильные приложения, которые можно запускать как на Android, так и на iOS. Ещё один плюс Flutter — он ориентирован на Material Design и предоставляет множество возможностей для работы с ним. С чего начать? YouTube - Introducing Flutter Хабрахабр - Введение и установка flutter.io - Get Started

Ответ 3



React Native — это фреймворк для разработки кроссплатформенных приложений для iOS и Android. История React Native довольно увлекательна: родившийся как внутренний проект Facebook в 2013-м, он вскоре стал одним из самых популярных фреймворков. Теперь же его код открыт и доступен на Github. React Native очень дружелюбен к разработчикам с web бэкграундом и не требует изучения языков нативной разработки под iOS и Android – learn once, write anywhere*. С чего начать? Youtube - Что такое React Native? Хабрахабр - Создаем приложение на JavaScript с помощью React Native Getting Started Guide * Выучи один раз, пиши под что угодно.

Комментариев нет:

Отправить комментарий