#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 * Выучи один раз, пиши под что угодно.
Комментариев нет:
Отправить комментарий