dimovich85
@dimovich85
https://u-academy.net/

Какие инструменты для разработки мобильного приложения на базе веб-технологий сейчас есть?

Сегодня решил поставить intel XDK для изучения разработки под мобильные девайсы на базе веб-технологий и на оф.сайте нашел сообщение, что проект не развивается. Есть ли аналоги, что можно использовать сейчас? Предпочтительно под iOS. Акцент на веб-технологиях, про нативные среды разработки и языки я знаю.
Заранее спасибо, за ответ.
  • Вопрос задан
  • 2961 просмотр
Решения вопроса 5
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Есть несколько вариантов.

js-to-native, нативное приложение с бизнес-логикой на js и нативными виджетами:
  • react-native
  • NativeScript — на выбор angular, с недавних пор vue, чистый js
  • weex — аналог react-native для vue.js, из коробки так же работает под веб. С документацией пока грустновато, но народ работает.

Вроде как из этого react-native самый проработанный и стабильный. Имел дело только с ним, если это стабильно и проработанно, то в остальное даже страшно заглядывать (хотя NativeScript+ionic мне хвалили). Выглядит нативно на каждой платформе. Знания html и css по большей части не пригодятся: тэги/компоненты свои, css-свойства работают не все и не во всех сочетаниях.

webview, гибридное приложение, браузер на весь экран:
  • cordova, старейшее живое решение

Вроде как взял html, завернул и готово. Иногда полученное приложение несколько притормаживает, хотя я думаю что если это каталог товаров или меню ресторана, то проблем быть не должно. Выглядит одинаково на каждой платформе.

прочее:
  • *.webmanifest и PWA, нечто среднее между установкой приложения и добавлением сайта в закладки.

По идее идеал, часто юзаешь сайт — типа ставишь приложение, редко — открываешь из браузера. У разработчика голова не болит как подружить веб, iOS и Android: везде выглядит и работает одинаково. На практике поддержка пока что пятнистая.
Ответ написан
zo0m
@zo0m
full stack developer
Последние года 3 пользуюсь Appcelerator Titanium.
https://github.com/appcelerator/titanium_mobile

Не знаю почему он не такой популярный, как варианты выше, видимо проблемы с маркетингом и направление на enterprise, а так же то, что раньше он был платный.

Чем он хорош?

Как и React Native и Xamarin он предоставляет возможность создания _нативных_ приложений, управляемых JavaScript, в отличии от Cordova/Phonegap.

Другой момент, в отличии от конкурентов в Appcelerator появилась возможность писать на JavaScript _нативный код_ ! который при помощи специального транслятора (Hyperloop) превращается в Java / Obj. C
Эта штука позволяет напрямую дергать нативное окружение, минуя бридж между виртуальной машиной V8 и системой, а так же использовать любые нативные фреймворки внутри вашего приложения.
https://www.appcelerator.com/mobile-app-developmen...

Есть MVC фреймворк Alloy:
docs.appcelerator.com/platform/latest/#!/guide/All...

Менеджер модулей:
gitt.io

Так же из коробки есть облачко, если не хочется писать сервер (я пользуюсь им, как бекапом):
docs.appcelerator.com/platform/latest/#!/guide/Mob...

Есть так же аналитика, бесплатный вариант порезанный, но мне хватает.

Добавлю:
Для моделей используется надстройка над Backbone:
docs.appcelerator.com/platform/latest/#!/guide/All...
Которая умеет синкаться с SQLite

Так же пользуюсь модифицированным app.tss из https://github.com/TNuzzi/wriststrap
(https://github.com/TNuzzi/wriststrap/blob/master/t...
плюс Jade/Pug (можно через Grunt в XML перегонять, но я пользуюсь Jade Watcher в WebStorm) и получаются симпатичные на мой вкус шаблоны:
Alloy
    ScrollView.w-fill.h-fill.lo-v(right=10, left=10).st-vertical  // lo-v == (layout='vertical'), w-fill == (width="FILL")
        Label#eventName.event-name.l-0

        View.lo-c(top=10)
            ImageView#photo.event-info-photo(onLoad="photoLoad")
            View.event-info-date-time
                Label#date.event-info-date-time-label.event-info-date
                Label#type.event-info-date-time-label.event-info-type
            Label#price.event-info-price

        Require#details(src='event/card/event_card_details')
        View.bottom-spacer


Если хочется просто запустить локальный сайт, аля Phonegap, просто кидаем в шаблоне WebView компонент:
docs.appcelerator.com/platform/latest/#!/api/Titan...
растягиваем по экрану: width="Ti.UI.FILL", height="Ti.UI.FILL"
в папку с assets добавляем папку с продакшн билдом вашего веб-проекта, и в WebView проставляем ссылку.
Получится та же Cordova, только с уровнем доступа выше, вы через EventListener-ы получите доступ к любым нативным функциям, без сторонних плагинов.

И напоследок канал в Слэк:
https://ti-slack.slack.com
Ответ написан
@Simipa
React Native developer
Наиболее стабильный и мощный инструмент, особенно под iOS - React Native. С помощью Expo проекты можно писать вообще без нативного кода, исключительно на js. Я уже год работаю на RN, писал как мелкие проекты, так и очень большие - меня все устраивает.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
PhoneGap (+ плагины): здесь - подробный список.
Ответ написан
alexiusp
@alexiusp
senior frontend developer
Ещё есть ionic (https://ionicframework.com/). Это библиотека визуальных компонентов, которые выглядят как нативные для каждой из платформ. Построен на базе cordova и angular. Но разработчики вроде бы делают stencil, который будет фрэймворко-независимым. Так же у них есть куча дополнительных инструментов, как, например, утилита для запуска и отладки разрабатываемого приложения на тестовом устройстве.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы