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.