Всем привет, меня зовут Женя, я пришёл в IT, где-то в 2016 году и занимаюсь разработкой всяким разным на PHP. Можно сказать, что PHP - это мой основной стек, но я так же стараюсь быть любознательным, поэтому в 2022 году мне захотелось исполнить свою давнишнюю мечту и создать своё мобильное приложение.
В этой статье я расскажу о том, как я создал своё мобильное приложение для изучения слов английского языке (абсолютно бесплатное, без рекламы без ничего, просто приложение где есть мой труд и ничего более, ни картинок ни свистелок ни перделок, просто приложение где отгадываешь слово - читаешь перевод, всё) в самом конце приложу ссылки на приложение, если это будет интересно.
Цель данной статьи - просто рассказать о том, чем занимался последние 2 года, спасибо за чтение.
Я уволился с основного места работы, а так как я без жены и детей, и мне нужно очень маленькое количество денег в месяц, то решил, что накопленных средств мне хватит на год безработной жизни (в скобках - хватило на 2) и я решил, что ПОРА
Я в это время усиленно думал о том, как я хочу выучить английский язык, а так как я ленивое существо по сути, то решил, что играя в какую-нибудь игру (а я люблю играть в игры, дота 2, варкрафт 3, цивилизация, герои 3) то смогу поднять свой уровень (играл кстати в wow classic на английском - с google translate переводчиком было круто, там очень интересные английские фразеологизмы используются). В общем, как-то, скачал приложение типа WordConnect, где в верхней части показывается кроссворд, а в нижней круг с буквами. И водя пальцами по этому кругу, нужно соединять буквы, что б образовалось слово. Мне в общем понравилось, так как не имея богатый словарный запас слов, можно попробовать логически или интуитивно угадывать неизвестные доселе английские слова. Ну и чуть залипательно. Одно "но": я совершенно не знал получившиеся слова. Данное приложение НЕ предоставляло возможности узнать перевод слова на мой язык.
И тут я смекнул - а чё б не создать подобное приложение, но только с переводом и шлюхами. Только с переводом.
А я что-то ранее слышал о Flutter. Flutter - это такой фреймворк, для языка программирования Dart, которые по словам Google позволяет иметь одну единую кодовую базу для того, что бы создать приложение и под iOS, и под Android (сейчас вроде можно это сделать и под Windows и под HTML, но я не проверял). Звучит круто чё! Для меня как для PHP разработчика с 6-летним стажем, добавить в свой стек знание про то как работать в мобильном сегменте (тем более тимлид на прошлой работе всегда меня хвалил) было приятно.
Сперва я пошёл за знаниями на coursehunter. В перемешку со сном (так как, когда слушаю лекции онлайн, то сразу засыпаю) прошёл курс по Dart и Flutter, и даже кое-что понял. Наверное, программирование - это плюс(+)/минус(-) про одно и тоже: у вас есть какие-то данные, возьмите их и сделайте что-то с ними и результат покажите пользователю.
И после того как ознакомился с Dart и Flutter и приступил к реализации приложения, я начал пользоваться ChatGPT (только платная версия, так как бесплатная - увы, ограничена по количеству сообщений в день).
Скажу сразу, что ChatGPT - НЕ напишет за вас приложение, НЕ решит за вас задачу, НЕ даст вам решение.
Лично моё восприятие и мнение - это прекрасный анализатор, великолепный систематизатор, далее идут супер эпитеты обозначающие, что ChatGPT, как великолепный джуниор, т.е. работник, который умеет супер безотказно работать, но только скажи ему КАК надо работать. В результате моя работа с ChatGPT сводилась к тому, что я был как некий тим-лид и происходил следующий цикл:
я дробил задачи на маленькие, рассказывал о том, какую логику хочу видеть в том или ином методе или компоненте, а ChatGPT подсказывал решения
я оценивал результат на жизнеспособность
иногда плакал и бился головой об стол, из-за того, что не всё всегда понимал и приходилось дополнительно въезжать, так как мобилка это больше про асинхронные процессы, в то время как PHP - рожден, что бы умереть в одном потоке. А тут присутствуют элементы асинхронности
кайфовал, когда наконец разобрался и всё работало как хотел
повторить этот цикл с начала
Далее, я по ходу создал толковый словарь английских слов с переводом на иностранные языки: русский, немецкий, испанский и китайский, а так же, значение слова и примеры. ChatGPT показал отличные способности в части генерации переводов на разные языки и толкования того или иного слова. Ошибки: встречаются, особенно, в примерах. Так как я совсем один, мне сложно обработать все возможные проблемные слова. Но я надеюсь, мне удалось создать вменяемый толковый словарь английских слова, напободие cambridge.dictionary или oxford.dictionary
Заключение
Спустя 6 месяцев я получил готовый результат. Мне пришлось заплатить 25$ долларов за публикацию в Google Store и 100$ за публикацию в App Store, и пройти 1.5 месяца проверки и тестов, что б опубликовать рабочую версию. Я сделялъ - я доволен.
Получил опыт работы с мобильными приложениями, с созданием приложений на Flutter.
Я получил опыт работы с ChatGPT Api в части генерации какого-то пользовательски-полезного обучающего материала
Я получил опыт работы с ChatGPT Chat, как лучше его использовать, что бы систематизировать мои знания и получить реальный результат в части написания кода
Выводы
Теоретически, я вижу дальнейшее развитие приложения в создании новых переводов для других языковых групп этого мира, добавления каких-либо новых фич и, вообще, монетизации этого продукта. Однако, для этого всего нужно инвестирование, а на данный момент у меня его нет:) Поэтому, и монетизации никакой тоже нет:)
ChatGPT и прочие модели на данном этапе - наше будущее в части систематизации знаний. Наши будущие помощники. Берите их на вооружение быстрее, чем позже.
Flutter - понравился, как инструмент для создания чего-то простого, кроссплатформенного. Идеально подойдёт для создания мобильного справочника, интернет-магазина, чего-то такого, где бизнес захочет иметь прямой доступ к своим пользователям с более низкими тратами.
Результат, если хотите, можете оценить вот тут:
P.S.
После релиза этого приложения, и набравшись опыта, я подумал, что могу создать свой маркетплейс в одно лицо, наподобие yandex.market, так же, используя chat gpt api. Если данный пост будет хоть кому-то интересен, я напишу процесс создания этого маркеплейса. Тут я решил его создавать уже используя PHP и Symfony, - это более привычная для меня среда + здесь я вижу перспективы монетизации, а значит, я всё таки, смогу купить себе хлеб, масло и велосипед.