Предыстория, уроки и все, что между ними.

После долгих лет возни с интернетом я был готов к переезду. Тогда я начал увлекаться мобильными приложениями, особенно приложениями для Android. Я хотел узнать, как они работают, а также построить свой собственный.

Итак, мой путь к программированию под Android начался. Информация была легко доступна при наличии интернета. Я знал, что для изучения Android мне нужно хорошо знать Java. Это стало моей первой целью. Я провел большую часть 2015 года, оттачивая свои навыки работы с Java. Я читал из нескольких источников, включая YouTube, Udemy, Udacity, Codecademy и StackOverflow, и это лишь некоторые из них. Особенность Java в том, что при написании кода так много повторений, что через некоторое время он просто впитывается.

Уверенный, что я понял хотя бы основы Java и объектно-ориентированного программирования, я начал углубляться в Android-разработку. Я думал, что моя предыдущая методология сработает… как же я ошибался. Большинству ресурсов, которые я нашел в Интернете, не хватало надлежащей структуры. Им также в какой-то степени не хватало практичности в отношении перехода кого-то с начального уровня на средний или профессиональный уровень. Я знал, что это не сработает, и поэтому начал искать платные курсы.

Udacity, хотя и настоятельно рекомендовался, был слишком дорогим в то время. По воле судьбы я наткнулся на курс Марка Прайса от Devslopes, когда искал курсы на Udemy. На самом деле мое внимание привлекло то, как они назвали свой курс: Android Studio: от новичка до платного профессионала. Честно говоря, мне понравилось, как это звучит, в этом есть смысл — если вы понимаете, о чем я. . К счастью, на той неделе у Удеми тоже была распродажа. Вместо того, чтобы платить 133 доллара, мне нужно было заплатить всего около 20 долларов. Оглядываясь назад, я могу сказать, что это была лучшая инвестиция, которую я когда-либо делал с такой небольшой суммой.

Кроме того, кто-нибудь еще понял, что Udemy всегда проводит рекламную акцию или это только я?

Тем не менее, я купил курс. Учитывая, что у меня были другие дела, которыми я все еще занимался, я тратил около 2–3 часов в день на изучение курса Марка. Я не занимаюсь никаким маркетингом, но искренне считаю, что Марк Прайс — один из лучших учителей, которых я когда-либо встречал, если можно так выразиться (Он и Тайлер МакГиннис Настоятельно рекомендую пройти наш курс Tyler's React). Курс был всего 25 часов. Однако, учитывая количество приложений и упражнений, которые нужно было выполнить, на полное выполнение ушло около 3 месяцев. Я также использовал курс Марка как своего рода руководство о том, как лучше изучить Android.

Сочетая его курс, обучение из других источников (большую роль здесь сыграл StackOverflow) и практику, я смог создать 10 приложений для Android; ни один из них не попал в Playstore, чтобы вам было интересно.

Особенность курса Devslope заключалась в том, что он преподавал больше, чем просто Java или Android. Основное внимание было сосредоточено на том, как проектировать отличные пользовательские интерфейсы и опыт, а также на том, как думать как программист (хотя немного ориентирован на объектно-ориентированное программирование. Улавливаете каламбур? 😂 😂 😂).

Я не уверен, дело в языке или в преподавателе, но по какой-то причине я влюбился в Java как в язык. И проблема в том, что я зациклен на вещах. Я стал пуристом, не хотел ничего слышать о гибридных приложениях или даже о нативных приложениях для Android, созданных с помощью чего-то другого, кроме Java (за исключением Kotlin).

А потом случился Миша. Я помню, когда он впервые познакомил меня с Linux. Его точными словами были: «Как только вы начнете использовать Linux, вы никогда не вернетесь к Windows». Он был прав дважды! Он начал использовать Кордову еще до того, как она стала настолько популярной. По мере того, как он рос, и по мере взросления Ionic Framework — рос и он. Увидев, насколько гибридные и даже нативные приложения приблизились к реальным, я был убежден.

В 2017 году я спрыгнул с корабля и создал свое первое кросс-платформенное нативное приложение Ionic. Angular также стал намного удобнее с тех пор, как я последний раз проверял (AngularJs 1.0 haikuwa mama ya mtu! Eeey). Мне это понравилось. Кроме того, пройдя через ад с Redux во время работы с React, мне понравился тот факт, что Angular был полноценным фреймворком, с помощью которого я мог создавать как веб-приложения, так и мобильные приложения. Я до сих пор не уверен, терпим ли Angular, или Redux просто чертовски труден, или оба варианта верны.

В любом случае, сегодня я здесь — все еще влюблен в Java, но женат на Javascript. Теперь, когда вы понимаете, откуда я взялся, я решил поделиться, почему я сменил язык и почему я думаю, что это может быть полезно для вас. Но сначала небольшое напоминание: «Родные приложения для Android на базе Java никуда не денутся в ближайшее время. И Java тоже». Покончив с этим, давайте начнем:

1. Рост PWA:

Ооо да! Прогрессивные веб-приложения, новый разговор в городе. Прогрессивные веб-приложения легче создавать с использованием таких фреймворков, как React и Angular. Фактически, Ionic позволяет очень легко создавать PWA.

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

2. Размер кодовой базы

Помимо того, что сама Android Studio занимает оооочень много места, приложения, созданные с использованием Java (Android Studio), имеют огромную кодовую базу. Количество кода, которое нужно написать, невероятно. Помню, на одном из своих уроков Марк даже прокомментировал это и сказал: «Все, что не так с Android Studio, — это Java». Печально, но я вынужден согласиться.

3. Кривая обучения

Придя из Интернета, мне было легко выучить Ionic. Большинство вещей в ionic адаптированы прямо из Интернета. Знакомый синтаксис помог мне быстро сориентироваться и начать работу.

4. Typescript легче отлаживать, чем Java

Ionic работает на Typescript, который является надстройкой Javascript. Хотя Typescript сам по себе может быть строгим, его легче отлаживать, чем Java. Конечно, разработчиков Java гораздо больше, и вы, вероятно, сможете найти ответ гораздо быстрее на StackOverflow, удачи в попытках понять, что сломалось в первую очередь. И не говорите мне о модульном тестировании, просто не надо!!

5. Кроссплатформенность

Мне нравится идея построить один для всех. Приложения, созданные на Ionic, являются кроссплатформенными, то есть они могут работать на разных наборах устройств. А с недавними обновлениями, сделанными в Framework, приложения Ionic начинают выглядеть и работать как нативные приложения. Большинство пользователей даже не могут отличить — черт возьми, даже разработчики не могут отличить, пока не увидят код (или кто-нибудь им не расскажет).

6. Ionic позволяет мне полностью сосредоточиться на интерфейсе

Когда приложение создается с использованием Ionic, будьте уверены, что серверная часть поставляется откуда-то еще. Разделение back-end и front-end стало общемировой тенденцией. Случай создания API, который потребляет внешний интерфейс, стал нормой.

Работа с Ionic и использование API (обычно его делает Миха) позволяют мне сосредоточиться на внешнем интерфейсе: пользовательском интерфейсе, опыте и мелких деталях. Что мне очень нравится делать.

Если вы дочитали до этого места, ну — вы дочитали до этого места, что еще вы хотите, чтобы я сказал? Все кончено, займитесь чем-нибудь другим 😂 😂. Ладно, шучу, ты классный.