TL;DR:Вместо да вземете друг онлайн курс, направете свой собствен проект. Бях на път да взема курс по машинно обучение, но реших да създам моето „приложение“.

Внимавайте с онлайн курсовете

[Пропуснете този раздел, ако искате]

Като студент по инженерство бях обсебен от научаването на все повече и повече умения, които ще увеличат набора ми от инструменти, за да ми помогнат да си намеря по-добра работа, да бъда по-продуктивен или да увелича списъка с умения в автобиографията си или LinkedIn профил. Просто обичам онлайн курсове, преминах толкова много от тях в udemy или coursera и винаги чета за нови технологии или библиотеки. Винаги научавам малко и играя с тях за ден или два, но рядко правя следващата стъпка, за да създам истински проект и да го внедря в производство.

Бях на път да взема нов курс, когато видях заглавие на „видео“, което гласеше:

Не се учете на машинно обучение, избягвайте да бъдете магаре.

Вероятно бях толкова изненадан, колкото и вас, от това предложение, така че трябваше да видя цялото видео. Това, което научих е, че е по-добре да създавате свои собствени неща (ако изисква усвояване на ново умение, научете за него), ще научите много повече и вашето резюме изглежда по-добре, ако сте създали реални проекти.

Неща, които не научих, като ходих на онлайн курсове, а само като изградих собствено приложение от нулата до производство:

- Стилизирането е трудно. Наистина ми беше гадно в началото. Това отне по-голямата част от времето ми и не съм много доволен от резултата. Онлайн курсовете го правят толкова лесно, че понякога дори ви дават стилов лист и красиво лого.

- Нещата не са толкова перфектни, колкото изглеждат. В онлайн курсовете всичко работи гладко. Това е така, защото учителите са се борили с всички тези проблеми, преди да направят видеоклиповете, и са записвали видеоклиповете много пъти, ако получат неочаквани бъгове или грешки. Не се разочаровайте, ако получите много проблеми или ако прекарате много време в stackoverflow. Това е част от учебния процес.

- Внедряването на мобилни приложения в онлайн магазините за приложения е бавно. Мислех, че просто трябва да кача apk, да избера име и bum, но ми отне много време. Трябва да създадете лого, начален екран, да качите екранни снимки, да напишете политика за поверителност, да платите US$25,00, да изберете различни езици, зони, държави, категории и т.н. След това трябваше да чакам една седмица, за да бъде прегледано от google поради глобална пандемия (честно казано, никога нямаше да създам приложението, ако не беше коронавирусът).

Изберете какво да правите

Трудно е да започнете нов проект, имате нужда от страхотна идея, за да не си губите времето, затова прекарах време в онлайн курсове. Не е лесно да изберете следващия си проект, има куп публикации за това. Отбележете „този“, ако искате идеи.

В моя случай намерих проблем, опитах се да намеря решение за НАИСТИНА кратък период от време и просто реших да направя свое собствено решение.

Проблем

Всеки има трудности при създаването или запомнянето на пароли. Искате такъв, който е труден за отгатване, но лесен за запомняне. Повечето браузъри ви помагат да влезете, но няма да запомните паролата си, ако трябва да влезете на друго устройство.

Опитах се да потърся приложение с тези функции (или почти всички):

  • Запазване на пароли/тайни
  • Извън линия
  • Без реклами
  • Безплатни и без платени Premium функции
  • Криптиран с персонализиран ключ за парола (така че дори създателят на приложението да не може да го разбие).
  • Отворен код (Как иначе бих могъл да разбера, ако те тайно изпращат вашите пароли на техните сървъри?)

Нямам нищо много важно, което трябва да съхранявам, но предпочитам да внимавам, преди да напиша паролите си някъде.

Не можах да намеря решение, което да отговаря на моите изисквания (за около 45 минути), така че направих свое.

Развитие

Компютърът ми не е много мощен и остарява, така че исках да избегна използването на Android Studio и използването на емулатор на Android. Освен това не исках да отделям твърде много време за това. Ето защо използвах „expo“, което е идеално, ако искате да създадете просто приложение. Използва React Native, идва с шаблони, помага ви в процеса на изграждане, позволява стартиране на приложението ви в личния ви телефон с горещо презареждане, лесно споделяне с други хора и създаване на приложения в облака и съхраняване на apk онлайн.

С тези прости команди (и инсталиране на expo app) имах приложение, работещо на телефона ми, готово да започне кодиране:

$ npm install — global expo-cli
$ expo init my-test-app-name --template tabs
$ npm install # or yarn
$ expo start

Исках приложението ми да използва малко пространство на телефона, така че единственият пакет, който добавих, беше crypto-js. Създадох моите компоненти от нулата, но можете да използвате react-native-elements, ако искате красиви и лесни за използване компоненти.

За по-малко от седмица, работейки само през нощта, имах собствено приложение, готово за внедряване, което отговаряше на всички изисквания. Проверете го в github, ако искате.

Внедряване

Този процес отне по-голямата част от времето между момента, в който реших да направя този проект, докато стане достъпен в Google Play.

Създайте приложението

$ expo build:android

Размерът на приложението беше твърде голям, затова го намалих наполовина, като просто добавих това вътре android във файла app.json.

“permissions”: [],
“enableDangerousExperimentalLeanBuilds”: true,

Качете приложението

Трябваше да свърша малко работа в Google Play:

- Качване на начално изображение: Не съм графичен дизайнер, затова създадох нов екран в приложението и написах достатъчно код, за да получа голяма икона в средата на екрана с малък етикет под нея . Направих екранна снимка, преоразмерих я до 1242x1242 пиксела и воила.

- Икона: Взех началното изображение и го преоразмерих до 192x192.

- Графично изображение с характеристики: Взех началното изображение, добавих малко текст вдясно и го преоразмерих до 500x1024.

- Описание: Току-що записах изискванията/характеристиките, изброени по-горе.

- Целева възраст: Избрах 13+, за да избегна добавянето на политика за поверителност. Вероятно малките деца така или иначе няма да го използват.

След всичко това качих apk и бях готов да изпратя връзката на всичките си приятели, когато забелязах този сигнал:

Трябваше да чакам 10 дни!! Най-накрая беше одобрено и получих мое лично „приложение“, което е нещо, с което наистина се гордея и малко хора отделят време да направят.

Заключение

Изградете свой собствен проект! Силно ви насърчавам да го направите. Толкова е приятно да видя моето приложение в Play Store. НИКОГА повече няма да взема онлайн курс, освен ако не ми помогне с конкретна идея, която имам предвид.

Искате ли да помогнете на другите да намерят идея за страничен проект? Пишете всякакви предложения тук!

Имате ли нужда от прозрения или партньор, за да изградите своя нов, интересен проект? Готов съм да помогна!

Някакви предложения за приложението ми? Напишете ги тук или в изданията на github.