+

Создание кроссплатформенного приложения для телефонов

11.07.2019 21:41
12.07.2019 04:03
24

Интро

Hello %USER_NAME%! В этой статье я буду страдать.. тоесть я попытаюсь использовать свой опыт в разработке сайтов для создания кроссплатформенного приложения под смартфонцы.

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

Выбор среды разработки

Пошарив по просторам сети и изучив платформы для создания мобильных приложений, я наткнулся на несколько топовых в этой тематике систем:

Я совершенно запутался, что выбирать то? Чтобы разобраться по лучше я подумал по искать вакансии по каждой платформе из этого списка, таким образом я смогу определить самые популярные и востребованные из них. А это значит будет больше ответов и готовых решений во время разработки.
Для рейтинга я использовал 2 сайта с предложениями о работе, 1 hh.ru по России и freelancer.com по миру, объединил результаты чтобы получить 1 цифру для рейтинга:

Название hh.ru freelancer.com Общий
1 PhoneGap 27 9 547 9 574
2 Xamarin 134 5 197 5 331
3 Cordova Apache 22 4 976 4 998
4 Flutter 9 891 900
5 NativeScript 6 242 248
6 Kivy 0 169 169
О Бог рандома! Что мне использовать?

Ознакомившись с платформами и их историями, проанализировав топ, я сделал вывод что буду использовать PhoneGap, он мне показался самым удобным и понятным, и с самым ниским порогом вхождения, к тому же будет легко перейти на Cordova Apache, кроме того я подумал посмотреть есть ли другие топы платформ (: но наткнулся только на топы конструкторов приложений, это мне не подходит, но есть конструктор Appery.io как раз таки на базе Cordova Apache.

Хелло ворд на PhoneGap в Android

Приступив к началу разработки я наткнулся на хороший мануал на ютубчике

Компиляция прямо из гита это здорово, я люблю гит (: Создал на гите репозиторий PhoneGap_template внес небольшие правки, перешёл на build.phonegap.com зарегался, вставил ссыль на репозиторий и выдал он мне .apk, закинул на телефон, всё ок запустилось, прелесть.

Технология SPA (Single Page Application)

Чтобы используя html js (ajax) и css удобно было манипулировать контентом, можно и нужно воспользоваться специально разработанной для этого архитектурой SPA или по нашему ОП - одностраничное приложение, для этого есть три популярные платформы:

Собираем топчег

Название hh.ru freelancer.com Общий
1 Angular 291 20 223 20 514
2 React 506 16 852 17 358
3 Vue.js 198 1 875 2 073
О Бог рандома! Что мне использовать?

Топ по такому принципу собрать тяжело, так как в вакансиях многие работодатели утверждают что им нужны специалисты знающие всё, прям так и пишут Angular / React / Vue.js

Изучив эти платформы я запутался еще больше 0_o, источники которые мне попадались гласили что React самый популярный, Angular сложный, по этому разработчик из гугл (Эван Ю) и собрал себе Vue.js.
А если делать на React то можно будет на нём сразу делать мобильные и десктопные приложения, например discord и skype сделаны на React, но именно это меня от него и отталкивает, discord у меня постоянно тупит 0_о ошибки как из ведра. Гуглу я доверяю, на angular сделаны такие чудесные сервисы как google music, PayPal. Но тот факт что Vue.js сделал сотрудник гугл заявив что он легче Ангуляра и к тому же Vue.js дико набирает популярность догоняя этих гигантов из фейсбук и гугл, ну что за сложный выбор то..

Всё сравнив и оценив, я написал простенький код, "Бог рандома", который помагает сделать этот серьёзный выбор, и ты %USER_NAME%, можешь его тоже использовать, он внизу под таблицами, жмакай на "О Бог рандома! Что мне использовать?"

Соединение и работа приложения с сервером

ту би континуе...