TL;DR: Вместо того, чтобы проходить еще один онлайн-курс, создайте свой собственный проект. Я собирался пройти курс по машинному обучению, но решил создать свое приложение.

Будьте осторожны с онлайн-курсами

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

Будучи студентом-инженером, я был одержим идеей осваивать все больше и больше навыков, которые пополнят мой набор инструментов, помогающих мне найти лучшую работу, стать более продуктивным или увеличить список навыков в моем резюме или в LinkedIn. профиль. Я просто обожаю онлайн-курсы, я прошла их так много в udemy или coursera и всегда читаю о новых технологиях или библиотеках. Я всегда немного учусь и играю с ними в течение дня или двух, но я редко делаю следующий шаг, чтобы создать настоящий проект и развернуть его в рабочей среде.

Я собирался пройти новый курс, когда увидел заголовок видео, в котором говорилось:

Не изучайте машинное обучение, не будьте ослом.

Если бы я был, вероятно, так же удивлен, как и вы, этим предложением, поэтому мне пришлось просмотреть все видео. Я узнал, что лучше создавать свои собственные вещи (если это требует изучения нового навыка, узнайте об этом), вы узнаете намного больше, и ваше резюме будет выглядеть лучше, если вы создали реальные проекты.

Чему я не научился, пройдя онлайн-курсы, а только создав собственное приложение с нуля до производства:

- Стиль сложно. Я действительно СОСАЛА сначала. Это то, что заняло большую часть моего времени, и я не очень доволен результатом. Онлайн-курсы делают это так просто, иногда они даже дают вам таблицу стилей и красивый логотип.

- Все не так идеально, как кажется. В онлайн-курсах все работает гладко. Это потому, что учителя боролись со всеми этими проблемами, прежде чем они сделали видео, и они записывали видео много раз, если у них возникали неожиданные ошибки или ошибки. Не разочаровывайтесь, если у вас возникнет много проблем или если вы проведете много времени в stackoverflow. Это часть учебного процесса.

Развертывание мобильных приложений в интернет-магазинах приложений происходит медленно. Я думал, что мне нужно просто загрузить apk, выбрать имя и бац, но это заняло у меня много времени. Вы должны создать логотип, заставку, загрузить скриншоты, написать политику конфиденциальности, заплатить 25 долларов США, выбрать разные языки, зоны, страны, категории и т. д. После этого мне пришлось ждать неделю, пока он будет рассмотрен. от google из-за глобальной пандемии (честно говоря, я бы никогда не создал приложение, если бы не короновирус).

Выберите, что делать

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

В моем случае я нашел проблему, я пытался найти решение в течение РЕАЛЬНО короткого периода времени и просто решил сделать свое собственное решение.

Проблема

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

Я попытался найти приложение с этими функциями (или почти со всеми):

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

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

Мне не удалось найти решение, соответствующее моим требованиям (примерно за 45 минут), поэтому я сделал свое собственное.

Разработка

Мой компьютер не очень мощный и стареет, поэтому я хотел избежать использования Android Studio и использования эмулятора Android. Кроме того, я не хотел тратить на это слишком много времени. Вот почему я использовал expo, который идеально подходит, если вы хотите создать простое приложение. Он использует нативную реакцию, поставляется с шаблонами, помогает вам в процессе сборки, позволяет запускать ваше приложение на вашем личном телефоне с горячей перезагрузкой, легко делиться им с другими людьми и создавать приложения в облаке и хранить 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.

- Изображение Feature Graphics: я взял изображение-заставку, добавил немного текста справа и изменил его размер до 500x1024.

- Описание: я просто записал перечисленные выше требования/функции.

Целевой возраст: я выбрал 13+, чтобы не добавлять политику конфиденциальности. Вероятно, маленькие дети все равно не будут его использовать.

После всего этого я загрузил apk и уже был готов разослать ссылку всем своим друзьям, когда заметил это предупреждение:

Пришлось ждать 10 дней!! Наконец, оно было одобрено и получило мое личное приложение, которым я действительно горжусь и на которое мало кто тратит время.

Заключение

Создайте свой собственный проект! Я настоятельно рекомендую вам сделать это. Так приятно видеть свое приложение в игровом магазине. Я НИКОГДА больше не буду проходить онлайн-курсы, если они не помогут мне с конкретной идеей, которую я имею в виду.

Хотите помочь другим найти идею для стороннего проекта? Пишите сюда любые предложения!

Вам нужны идеи или партнер для создания нового интересного проекта? Я готов помочь!

Любые предложения для моего приложения? Пишите их здесь или в выпусках github.