Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Flutter

С этим тегом используют

Программирование Разработка Все
33 поста сначала свежее
35
pierreann08
pierreann08
7 месяцев назад
Косплей

Закосик на Флаттершай по мотивам Радужной фабрики...⁠⁠

Я думаю, что в ее сарай вы бы вошли!!

больше фото у меня в тгк: https://t.me/pierrecos

Закосик на Флаттершай по мотивам Радужной фабрики... Fluttershy, My Little Pony, Пони, Косплей, Сиськи, Flutter, Twilight Sparkle, MLP Носочки, Princess Luna, Rainbow Dash, Applejack, Rarity, MLP Edge, Princess Celestia, Rainbow Factory
Показать полностью 1
[моё] Fluttershy My Little Pony Пони Косплей Сиськи Flutter Twilight Sparkle MLP Носочки Princess Luna Rainbow Dash Applejack Rarity MLP Edge Princess Celestia Rainbow Factory
5
1
Eashaniy
9 месяцев назад

Как я создавал мобильное приложение по изучению слов английского языка, используя ChatGPT⁠⁠

Оглавление

  • приветствие

  • повествование

  • заключение

  • выводы

Приветствие:

Всем привет, меня зовут Женя, я пришёл в 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 сводилась к тому, что я был как некий тим-лид и происходил следующий цикл:

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

  2. я оценивал результат на жизнеспособность

  3. иногда плакал и бился головой об стол, из-за того, что не всё всегда понимал и приходилось дополнительно въезжать, так как мобилка это больше про асинхронные процессы, в то время как PHP - рожден, что бы умереть в одном потоке. А тут присутствуют элементы асинхронности

  4. кайфовал, когда наконец разобрался и всё работало как хотел

  5. повторить этот цикл с начала

Далее, я по ходу создал толковый словарь английских слов с переводом на иностранные языки: русский, немецкий, испанский и китайский, а так же, значение слова и примеры. ChatGPT показал отличные способности в части генерации переводов на разные языки и толкования того или иного слова. Ошибки: встречаются, особенно, в примерах. Так как я совсем один, мне сложно обработать все возможные проблемные слова. Но я надеюсь, мне удалось создать вменяемый толковый словарь английских слова, напободие cambridge.dictionary или oxford.dictionary

Заключение

  1. Спустя 6 месяцев я получил готовый результат. Мне пришлось заплатить 25$ долларов за публикацию в Google Store и 100$ за публикацию в App Store, и пройти 1.5 месяца проверки и тестов, что б опубликовать рабочую версию. Я сделялъ - я доволен.

  2. Получил опыт работы с мобильными приложениями, с созданием приложений на Flutter.

  3. Я получил опыт работы с ChatGPT Api в части генерации какого-то пользовательски-полезного обучающего материала

  4. Я получил опыт работы с ChatGPT Chat, как лучше его использовать, что бы систематизировать мои знания и получить реальный результат в части написания кода

Выводы

Теоретически, я вижу дальнейшее развитие приложения в создании новых переводов для других языковых групп этого мира, добавления каких-либо новых фич и, вообще, монетизации этого продукта. Однако, для этого всего нужно инвестирование, а на данный момент у меня его нет:) Поэтому, и монетизации никакой тоже нет:)

ChatGPT и прочие модели на данном этапе - наше будущее в части систематизации знаний. Наши будущие помощники. Берите их на вооружение быстрее, чем позже.

Flutter - понравился, как инструмент для создания чего-то простого, кроссплатформенного. Идеально подойдёт для создания мобильного справочника, интернет-магазина, чего-то такого, где бизнес захочет иметь прямой доступ к своим пользователям с более низкими тратами.

Результат, если хотите, можете оценить вот тут:

Google Store - https://play.google.com/store/apps/details?id=com.linguapuzz...

AppStore - https://apps.apple.com/ru/app/lingua-puzzle/id6499212190?l=r...

P.S.
После релиза этого приложения, и набравшись опыта, я подумал, что могу создать свой маркетплейс в одно лицо, наподобие yandex.market, так же, используя chat gpt api. Если данный пост будет хоть кому-то интересен, я напишу процесс создания этого маркеплейса. Тут я решил его создавать уже используя PHP и Symfony, - это более привычная для меня среда + здесь я вижу перспективы монетизации, а значит, я всё таки, смогу купить себе хлеб, масло и велосипед.

Спасибо за чтение:)

Показать полностью 1
[моё] IT Разработка Программирование ChatGPT Flutter Программист Чат-бот Пятничный тег моё Видео Без звука Длиннопост
0
Блог компании
VSKurs
VSKurs
10 месяцев назад

ТОП-10 лучших курсов Flutter: обучение онлайн с нуля для начинающих, платные + бесплатные⁠⁠

В этой статье сравниваем ТОП-10 лучших обучающих онлайн-курсов Flutter (подходят для начинающих с нуля и продвинутых специалистов) + рассматриваем бесплатные курсы.

Flutter — это платформа от Google для разработки мобильных приложений, которая распространяется по открытой лицензии. Она предназначена для создания приложений, совместимых с операционными системами Android и iOS на базе одного и того же кода и инструментов. Flutter использует собственные виджеты и инструменты для создания интерфейса, обеспечивая высокую производительность и привлекательный дизайн пользовательского интерфейса.

1. Курс «Профессия Мобильный разработчик» [Skillbox] - 1069 отзывов

Информация о курсе: стоимость — 4 911 ₽ / мес. в рассрочку на 34 месяца, длительность — 7 месяцев

Особенности: Для начинающих без предыдущего опыта в IT необходимости нет. Вы получите обратную связь от экспертов по практическим заданиям. Обучение доступно в любое время. После покупки курса у вас будет доступ ко всем обновлениям бессрочно. Мы также предоставляем помощь в трудоустройстве.

Вы освоите основы создания мобильных приложений с нуля, применяя полученные знания на практике и добавляя проекты в своё портфолио. После завершения курса вы сможете начать карьеру мобильного разработчика как в штате компании, так и на фрилансе.

Что вы узнаете:

  • Программирование на востребованных языках
    Вы освоите основы языка программирования Kotlin для Android или Swift для iOS с базовыми и продвинутыми концепциями.

  • Создание мобильных приложений
    Научитесь создавать пользовательские интерфейсы, программировать логику приложений и публиковать свои проекты в Google Play или App Store.

  • Вёрстка интерфейсов приложений
    Изучите создание стандартных и нестандартных элементов интерфейса, анимации и переходы с использованием Figma.

  • Тестирование приложений
    Освоите работу с эмуляторами и симуляторами для проверки кода в различных условиях.

  • Использование современных инструментов разработки
    Научитесь работать с Android SDK или iOS SDK для создания динамичных приложений с доступом к камере, местоположению и другими функциями.

  • Применение актуальных навыков в практике
    Получите все необходимые знания для трудоустройства в качестве Android или iOS-разработчика после завершения курса.

Содержание курса включает:

  • Kotlin или Swift
    Освоение языка программирования Kotlin или Swift, признанных Google и Apple как основные языки для разработки мобильных приложений.

  • Android-разработчик. Уровень 1 и 2
    Изучение основ и продвинутых техник разработки для Android, включая создание более семи мини-проектов, таких как квизы, галереи, ленты новостей и карты достопримечательностей.

  • Подготовка к трудоустройству с помощью Центра карьеры Skillbox
    Получение необходимых навыков для стажировки и первых заказов, подготовка резюме, портфолио и собеседования с работодателями.

  • iOS-разработчик
    Изучение разработки на iOS и дополнительные курсы: figma, тестирование и карьера.

Подробнее о курсе Flutter →

2. Курс «Flutter Mobile Developer» [OTUS] - 299 отзывов

Информация о курсе: стоимость — 67 000 ₽ или рассрочка - от 6 700 ₽ / мес., длительность — 6 месяцев

Особенности: Большое количество практики и активное взаимодействие с преподавателями. Вы разработаете свои версии приложений, подобные WhatsApp и Telegram, CoinMarketCap и Todoist, в рамках индивидуального проекта, который будет включен в ваше портфолио. По завершении обучения вы получите сертификат о прохождении курса.

Содержание программы:

  • Основы Dart

  • Фреймворк Flutter

  • Асинхронное программирование и работа с сетью

  • Создание анимаций и использование мультимедиа в Flutter

  • Архитектура приложений, управление состоянием и навигация

  • Взаимодействие Flutter Engine с операционной системой устройства

  • Оптимизация производительности приложений

  • Тестирование и публикация приложений

  • Выполнение курсового проекта.

Подробнее о курсе Flutter →

3. Курс «Java-разработчик» [ProductStar] - 106 отзывов

Информация о курсе: стоимость — 129 600 ₽ - 266 643 ₽ или рассрочка на 24 месяца - от 6 000 ₽ / мес., длительность — 10 месяцев

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

Изучите основы программирования на Java с уверенностью.

Что вы узнаете:

  • Программирование на Java
    Освоите синтаксис языка, основы Java Core и ООП, научитесь структурировать код и читать чужой.

  • Работа с фреймворками Java
    Познакомитесь с Hibernate и Spring, изучите ORM и JDBC для более эффективной разработки.

  • Дополнительные навыки: Git, Linux, SQL
    Углубитесь в работу с базами данных, освоите системы контроля версий и основы Linux.

  • Тестирование приложений на Java
    Научитесь не только создавать код, но и тестировать программы вручную и автоматизированно.

  • Основы DevOps для Java-разработчика
    Изучите методологию DevOps и ее применение на реальных проектах.

  • Специализация по выбору: Android или Frontend
    Выберите направление: изучите Android-разработку или освойте HTML, CSS и JavaScript.

Программа курса:

  • Основы разработчика

  • Введение в языки программирования

  • Основы Java

  • Java: классы, объекты, первые шаги

  • Java Core: коллекции, потоки, управление памятью

  • Java Core: сетевое взаимодействие, многопоточность, рефлексия

  • Инструменты сборки: Git, GitHub

  • Веб-фреймворк: Spring

  • ORM, Hibernate и JDBC

  • SQL и базы данных

  • Современные методологии разработки

  • Тестирование приложений на Java

  • Объектно-ориентированное программирование на Java

  • Backend на Java: углубленное изучение

  • Основы DevOps для Java-разработчика

  • Специализации
    По завершению курса выберите специализацию в Frontend или Android (одну или обе на ваш выбор), чтобы приобрести дополнительные навыки и открыть новые возможности для карьерного роста.

Подробнее о курсе Flutter →

4. Курс «Мобильный разработчик на Flutter» [TeachMeSkills] - 25 отзывов

Информация о курсе: стоимость — 48 000 ₽, длительность — 3 месяца

На этом курсе ты освоишь язык программирования Dart, научишься создавать универсальные интерфейсы для Android и iOS, разработаешь архитектуру приложений, а также освоишь работу с сетью и данными. По завершении курса в твоем портфолио будет три полностью готовых приложения.

Программа курса:

  • Настройка среды и основы языка Dart

  • Основы Flutter

  • Разработка первого приложения Quiz app

  • Работа с сетью и проектирование архитектуры приложения

  • Разработка второго приложения TODO

  • Хранилище данных и создание плагинов

  • Защита дипломного проекта

  • Онлайн-тренинг "Трудоустройство в IT".

Подробнее о курсе Flutter →

5. Курс «Flutter-разработчик» [Surf studio]

Информация о курсе: стоимость — нет информации, длительность — 4 месяца

Вы овладеете основами языка Dart и фреймворка Flutter, сможете разрабатывать универсальные приложения для различных платформ: iOS, Android, Web. Вы научитесь анализировать бизнес-кейсы, освоите принципы коммерческой разработки и будете готовы к работе над реальными проектами.

Программа курса:

  • Введение в систему контроля версий Git

  • Основы языка программирования Dart 2 и Dart 3

  • Создание консольных проектов на Dart

  • Работа с коллекциями

  • Объектно-ориентированное программирование: классы и базовые концепции

  • Операторы и управление потоком выполнения

  • Функциональное программирование: функции как объекты

  • Наследование и полиморфизм в ООП

  • Обобщения (Generics)

  • Безопасность Null (Null Safety)

  • Преобразования и операции с коллекциями

  • Введение в Flutter

  • Основы минимального Flutter-проекта

  • Основные концепции Flutter: StatelessWidget и StatefulWidget

  • Обработка пользовательских взаимодействий: нажатия и жесты

  • Работа с ресурсами

  • Управление зависимостями через файл pubspec.yaml.

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

Подробнее о курсе Flutter →

6. Курс «Flutter в мультиплатформенной мобильной разработке» [Skill Branch]

Информация о курсе: стоимость — 46 400 ₽, длительность — 5 месяцев

На этом курсе вы освоите создание приложений для iOS и Android с использованием перспективного фреймворка Flutter. Основное внимание уделяется практической части, где вы разработаете целых 6 приложений.

В процессе обучения вы не только углубитесь в основы языка Dart и Flutter, но и изучите продвинутые темы, необходимые для современной разработки: строение архитектуры кода, работа с API и авторизацией, использование кодогенерации для сериализации данных, верстка в соответствии с макетами в Figma, управление разрешениями доступа к устройству, эффективная и реактивная компоновка экранов, навигация внизу экрана, распространение приложений и многое другое. Практический подход гарантирует, что вы получите реальные навыки разработки приложений к концу курса.

Подробнее о курсе Flutter →

Бесплатные курсы и уроки Flutter

Курс «Flutter» [Skillbox]

Вебинары:

  • Ознакомление с профессией и настройка рабочего окружения

  • Разработка приложения-гайда по персонажам "Рика и Морти"

  • Обзор приложения на Flutter: выводим общие результаты.

Подробнее о курсе Flutter →

Курс «Flutter с нуля до профи» [Стас Ильин]

В процессе обучения мы изучим основы Flutter и создадим первое приложение на этой платформе. Освоим программирование на Dart, изучим основные виджеты в Flutter, освоим работу с сетью через http dio и погрузимся в основы управления состоянием в Flutter с использованием BLoC.

Подробнее о курсе Flutter →

Курс «Flutter: для входа в профессию Flutter-разработчика» [Mad Brains]

Видеоуроки:

  • Вводный урок. Настройка среды и первоначальный запуск

  • Основы программирования на Dart

  • Основы работы с Flutter

  • Верстка экранов и управление навигацией

  • Работа с сетевыми запросами

  • Проектирование архитектуры приложений

  • Хранение данных и управление состоянием

  • Советы для новичков в разработке.

Подробнее о курсе Flutter →

Курс «Flutter» [Академия IT]

Программа курса:

  • Установка среды и создание первого приложения

  • Структура приложения и виджеты

  • Работа с Stateless виджетами

  • Работа с Stateful виджетами

  • Виджет Container и оформление с BoxDecoration

  • Использование виджетов Column и Row

  • Работа с виджетом ListView

  • Использование виджета GridView

  • Работа с виджетом PageView

  • Изменение и настройка шрифтов

  • Добавление изображений в приложение

  • Создание и выпуск десктопного приложения

  • Создание собственной темы оформления

  • Виджеты Stack, IndexedStack и Positioned

  • Разработка веб-приложения. Введение в Firebase и Github Actions

  • Маршрутизация и навигация с использованием виджета Navigator.

Подробнее о курсе Flutter →

Курс «Руководство по фреймворку Flutter» [metanit]

Темы курса:

  • Основы Flutter

  • Контейнеры и управление расположением элементов

  • Встроенные виджеты и создание собственных виджетов

  • Работа со списками в Flutter.

Подробнее о курсе Flutter →

Показать полностью
Удаленная работа Фриланс Обучение Дистанционное обучение Курсы Онлайн-курсы Курсы повышения квалификации Образование Развитие Карьера Учеба Работа Профессия Онлайн-школа Онлайн Программирование Курсы программирования Программист Flutter Java Блоги компаний YouTube (ссылка) Длиннопост
12
Tvorobusheck
1 год назад
Мы худеем!

Мое web-приложение для здорового питания⁠⁠

Привет, Пикабу! Хочу рассказать вам о своем пет-проекте. Пет-проект — это личный проект, над которым разработчик работает в свободное время, часто для изучения новых технологий, решения конкретной задачи или для демонстрации своих навыков. Буду благодарен за вашу обратную связь и советы по улучшению моего приложения!

Мое web-приложение для здорового питания Здоровье, Приложение, Питание, Правильное питание, Диета, Программирование, Flutter, ЗОЖ, Сайт, Похудение, Длиннопост

Image by kroshka__nastya on Freepik

Предыстория

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

Сейчас существует множество приложений, которые выполняют эту функцию. Однако после беглого анализа Google Play было обнаружено, что все топовые приложения требуют заплатить за пользование полным функционалом, что недоступно используя российские карты. Учитывая, что количество людей, которые хотят полезно питаться достаточно велико (около 3 млн. запросов по слову «диета» в поисковике за последний месяц), то было бы полезно создать соответствующее приложение.

Текущие результаты

В начале разработки я выделил следующий функционал, который надо реализовать:

  • Учетная запись. Чтобы пользователь мог сохранять свои данные.

  • База продуктов. Пользователь может просматривать информацию о продуктах: калории и полезность.

  • Дневник питания. Пользователь может заносить употреблённую пищу в завтрак, обед, ужин и перекус. Ему должна выводиться статистика за каждый прием пищи и за день.

  • Расписание питания. Пользователь может составлять еженедельное расписание питания. Причем при открытии соответствующего не заполненного приема пищи в дневники питания у пользователя должны быть сразу заполнены соответствующие продукты из расписания. Например, если в расписании на завтрак среды стоит 300 грамм гречки. То при заполнении завтрака в среду в дневнике питания пользователю сразу предложено редактировать прием пищи, содержащий 300 грамм гречки. Это нужно для того, чтобы пользователь не вводил то, что он итак съел, если соблюдал диету.

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

1/5

Скриншоты текущего интерфейса для ПК версии

Планируемая доработка

В планах есть реализовать следующие улучшение, напишите, что вы думаете о них. Это поможет улучшить приложение.

  1. Дизайн. Особенно это касается навигации и расположении элементов. Есть понимание, что лучше разделить проверку продуктов и диету. Но куда её запихать непонятно. И хотелось бы добавить «живости» в интерфейс главной страницы, да и других тоже.

  2. Расширение характеристики у продуктов и приемов пищи. Чтобы они помимо калорийности и полезности содержали: %белков, %жиров, %углеводов, %холестерина, %сахара. В идеале добавить еще аллергены и допустимость в употреблении для различных групп населения (веганы, христиане в пост и т. д.).

  3. Быстродействие. Иногда мне кажется, что приложение слишком медленно работает, хотя тесты PageSpeed Insights от Google показывают хорошие результаты. Либо проблема в используемой технологии, либо в серверах.

  4. Контроль выпитой воды. Человек должен выпивать определенное количество воды в день. Думаю, что этот функционал также полезен.

  5. Страница со статистикой. Чтобы пользователь увидел красивые графики, где отображено какой он умница и как хорошо питается.

Заключение

Пока удалось реализовать минимально работающее приложение. Потрогать проект можно по ссылке: https://zdorovopit.ru. Сейчас активно ведется разработка, поэтому могут быть перебои в работе приложения во время обновлений. Напишите, что вы думаете и что хотели бы увидеть нового в приложении. Спасибо за уделенное время и за вашу обратную связь!

Показать полностью 6
[моё] Здоровье Приложение Питание Правильное питание Диета Программирование Flutter ЗОЖ Сайт Похудение Длиннопост
9
5
daniilbelikov
daniilbelikov
1 год назад

Как стать Flutter-разработчиком бесплатно?⁠⁠

Всем привет! Я Даниил Беликов, мобильный разработчик в крупной российской компании. Мои знакомые часто интересуются, стоит ли им входить в IT и на кого учиться. Обычно я отвечаю, что если человек визуал, есть смысл попробовать Flutter. Во-первых, это востребовано. Во-вторых, достаточно просто на начальном этапе. А в третьих, это классный инструмент для разработки кроссплатформенных приложений.

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

Как стать Flutter-разработчиком бесплатно? Карьера, IT, Учеба, Flutter, Профессия, Длиннопост

Этап 1. Знакомство с Flutter

Мы ничего не знаем о профессии Flutter-разработчик, поэтому идём на YouTube и смотрим вводные видеоролики: Что такое Flutter. Плюсы и минусы Flutter и Что такое FLUTTER?. После этого, в качестве десерта, мы читаем статью Flutter, руководство для начинающих.

Этап 2. Изучение Dart

Мы уже имеем представление о возможностях Flutter. Но чтобы разрабатывать приложения, нам необходимо освоить язык программирования Dart. Для того, чтобы это происходило более наглядно (помним, что мы визуалы), проходим видеокурсы в зависимости от ОС на компьютере:

— для Mac: Dart (курс простыми словами) и Dart Уроки с нуля до профи курс 2023

— для Windows: Dart и Dart уроки для начинающих на русском

Пусть вас не смущает, что курсы схожи по содержанию. В случае, если вы никогда не программировали, нужно изучать материал по несколько раз.

Этап 3. Изучение Flutter

Нас уже не пугает язык программирования и среда разработки, так как мы усердно занимались последний месяц. Если азарт ещё велик, мы приступаем к изучению фреймворка Flutter (также в зависимости от ОС на компьютере):

— для Mac: Flutter Уроки с нуля до профи 2023 и Flutter (курс простыми словами)

— для Windows: Изучаем Flutter и Flutter уроки для начинающих на русском.

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

Как стать Flutter-разработчиком бесплатно? Карьера, IT, Учеба, Flutter, Профессия, Длиннопост

Так выглядит разработка на Flutter.

Этап 4. Изучение сопутствующих технологий

Мы уже отличаем Stateful от Stateless виджета, но этого пока мало для трудоустройства. Набираемся терпения и разбираемся в сопутствующих технологиях при разработке приложений:

— система контроля версий: Git: курс

— сервисы Firebase: Flutter Firebase Course | Firebase Mastery

— работа с сетью: Flutter REST API

— state-менеджеры: Provider (Flutter) и Flutter Bloc

— локальные хранилища: Flutter + Shared Preferences и Flutter Hive Master Class.

Теоретическая подготовка

Практика это здорово, но без теории вы не сможете писать хороший код. К счастью, всё придумали до нас, поэтому растём как разработчики по Flutter Roadmap, готовимся к собеседованиям по Flutter Interview и читаем для общей грамотности Flutter Articles.

Профессиональное окружение

Важно формировать правильное окружение, чтобы было с кем общаться на профессиональные темы. Если вы живёте в крупном городе, вступайте в клуб Mobile Broadcast. Если в маленьком, задавайте вопросы (или просите помощи) в чатах Dart & Flutter и Flutter Developers.

В заключение, хочу отметить, что данной программы хватит на 8–12 месяцев обучения. Кто-то осваивает быстрее, кто-то медленнее. Если вы стойко прошли весь список, можете делать собственный проект для портфолио и искать работу.

На этом всё, ребята. Если вам понравилась статья, приглашаю в мой телеграм-канал «Мама, я вайтишник». Там я пишу на тему «войти в IT», составляю программы обучения и показываю истории успеха.

Показать полностью 2
[моё] Карьера IT Учеба Flutter Профессия Длиннопост
1
Блог компании
Finder
Finder
1 год назад

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков⁠⁠

Крупнейшие компании, включая Google, Alibaba, Tencent, Square, BMW, Reflectly, Abbott, eBay, выбрали Flutter из-за скорости и удобства разработки, а также возможности создавать мобильные приложения с общим кодом для Android и iOS. В среднем начальный уровень заработной платы для Flutter-разработчиков в России может составлять от 60 000 до 100 000 рублей в месяц. Опытные разработчики с высокими навыками могут зарабатывать от 100 000 до 200 000 рублей и выше.

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний

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

ТОП-10 лучших курсов Flutter в 2024 году

  1. Продвинутый курс по мобильным приложениям на Flutter Flow от ZeroCoder — лучший продвинутый курс для специалистов.

  2. Курс Мобильный разработчик на Flutter от OTUS.ru — лучший сбалансированный курс.

  3. Изучаем Flutter от Stepik.org – лучший курс для новичков.

  4. Онлайн-курс Flutter в мобильной разработке от Skill Branch — лучший курс для будущих разработчиков.

  5. Мобильный разработчик на Flutter от Teachmeskills – лучший курс для разработчиков приложений на iOS и Android.

  6. Кроссплатформенная мобильная разработка на Flutter от МФТИ — лучший курс с простым изложением сложных моментов.

  7. Flutter-разработчик от 1DevFullSchool — лучший курс для разработчиков с последующим трудоустройством.

  8. Профессия «Мобильная разработка для девушек» от ITGirlSchool — лучший курс для девушек-разработчиков.

  9. Izi-izi FlutterFlow от Appe — лучший для создания портфолио и резюме

  10. Практический онлайн курс от Flutter-команды Surf — курс с минимум ненужной теории, «без воды»

Предложенные нами курсы разработки на Flutter предназначены для тех, кто планирует связать свою работу с созданием мобильных приложений различного уровня сложности. Студенты, прошедшие комплексное обучение, становятся полноценными специалистами и могут претендовать на работу в крупных компаниях, либо трудиться как самостоятельные девелоперы. Программы разработаны таким образом, чтобы каждый специалист получил качественное портфолио для презентации потенциальным клиентам и работодателям.

Онлайн-курсы Flutter

1. Продвинутый курс по мобильным приложениям на Flutter Flow  | ZeroCoder

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

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 49700–54700 рублей, в зависимости от типа обучения

  • Длительность: 9–12 месяцев

  • Формат обучения: самостоятельное или с поддержкой ментора

  • Сертификат: нет

Преимущества курса:

  • несколько форматов обучения на выбор;

  • все программные продукты, шаблоны и учебные материалы доступны сразу в личном кабинете;

  • доступная стоимость;

  • подробная программа, ориентированная на формирование квалифицированного специалиста из новичка.

Недостатки курса:

  • отсутствие сертификата о прохождении обучения;

  • в одной из программ отсутствует поддержка ментора – делается упор исключительно на самостоятельное изучение.

Программа обучения:

  • Ознакомление с конструктором

  • Кастомизация интерфейса с учетом персональных предпочтений

  • Монетизация полученных навыков в рамках бизнес-модуля

  • Публикация в сторах и эквайринг: ключевые особенности

Ознакомиться с полной программой курса >>>

______________________________________________________________

2. Курс Мобильный разработчик на Flutter  | OTUS.ru

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

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 55000 рублей

  • Длительность: 5 месяцев

  • Формат обучения: вебинары, самоучители, практические задания

  • Сертификат: есть

Преимущества курса:

  • подробное ознакомление со всеми необходимыми инструментами, которыми пользуется Flutter-разработчик;

  • прямое общение с преподавателями;

  • обширное портфолио с выполненными работами;

  • помощь в официальном трудоустройстве.

Недостатки курса:

  • курс не подходит для новичков, не имеющих никакого опыта в программировании;

  • для прохождения программы требуется минимальный набор навыков для работы с git.

Программа обучения:

  • Введение в Dart

  • Особенности использования Flutter Framework

  • Особенности асинхронности и сетевого взаимодействия

  • Новая анимация и мультимедиа в Flutter

  • Использование движка Flutter при взаимодействии с платформой

Ознакомиться с полной программой курса >>>

_____________________________________________________________

3. Изучаем Flutter | Stepik.org

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

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 1390 рублей

  • Длительность: 4 месяца

  • Формат обучения: видеоуроки

  • Сертификат: нет

Преимущества курса:

  • в рамках программирования используется основной язык Dart;

  • доступная стоимость;

  • возможность пройти первый урок без дополнительных плат;

  • грамотное и простое изложение материала;

  • обширный набор знаний для программирования в среде Java, Kotlin, iOS и Android.

Недостатки курса:

  • отсутствие сертификата о прохождении обучения;

  • далеко не всегда есть постоянная связь с преподавателем, поскольку курс ориентирован на самостоятельное обучение.

Программа обучения:

  • Введение

  • Основные понятия

  • Правила компоновки пользовательского интерфейса

  • Передача данных и навигация

  • Особенности взаимодействия с пользователем

  • Правила работы с сетью

Ознакомиться с полной программой курса >>>

_______________________________________________________________

4. Онлайн-курс Flutter в мобильной разработке |  Skill Branch

Экспресс-курс всего за 5 месяцев позволит превратиться в уверенного разработчика приложений в среде Flutter. После завершения обучения все ученики получают собственное портфолио, которое можно приложить к резюме для поиска работы.

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 46400 рублей

  • Длительность: 5 месяцев

  • Формат обучения: вебинары, практические задания

  • Сертификат: есть

Преимущества курса:

  • большое количество практических кейсов;

  • только необходимые знания для работы с приложениями, без воды и выполнения ненужных задач;

  • хорошее соотношение цены и качества учебной программы;

  • проверка заданий в автоматическом режиме.

Недостатки курса:

  • поддержка менторов доступна не всегда.

Программа обучения:

  • Ознакомление с базовыми виджетами

  • Передача данных между виджетами

  • Особенности работы с API

  • BLoC-архитектура

  • Кеширование

  • Особенности чистой архитектуры

Ознакомиться с полной программой курса >>>

______________________________________________________________

5. Мобильный разработчик на Flutter | Teachmeskills

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

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 48000 рублей

  • Длительность: 3 месяца

  • Формат обучения: вебинары, практические задания

  • Сертификат: есть

Преимущества курса:

  • наличие собственной программы поддержки при трудоустройстве

  • подходит для новичков, желающих быстро освоить программирование с использованием фреймворка Flutter;

  • портфолио из трех выполненных работ;

  • возможность оплаты обучения в рассрочку.

Недостатки курса:

  • для начала обучения нужно дождаться завершения набора группы;

  • скидка на обучение не всегда доступна.

Программа обучения:

  • Помощь в установке окружения

  • Особенности языка программирования

  • Специфика архитектуры сети

  • Разработка приложений

  • Правила использования хранилища и создания плагинов

Ознакомиться с полной программой курса >>>

______________________________________________________________

6. Кроссплатформенная мобильная разработка на Flutter |  МФТИ

Курс кроссплатформенной разработки с использованием фреймворка Flutter ориентирован на программистов начального уровня, желающих повысить собственную квалификацию. Также он подходит для тех, кому хочется перейти из одной среды программирования на Flutter без особых усилий.

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 70000 рублей

  • Длительность: 3 месяца

  • Формат обучения: онлайн-вебинары

  • Сертификат: есть

Преимущества курса:

  • живое общение с преподавателями;

  • оперативность прохождения курса;

  • упор на практику;

  • возможность получения официальной работы.

Недостатки курса:

  • высокая стоимость;

  • курс не подходит новичкам без опыта программирования.

Программа обучения:

  • Основы ООП и Dart

  • Использование виджетов в Flutter

  • Разновидности виджетов Flutter

  • Правила работы с сетью

  • Правила работы с анимациями и навигация

  • Применение мультиплатформенных решений

  • Особенности тестирования готового продукта

Ознакомиться с полной программой курса >>>

____________________________________________________________

7. Flutter-разработчик | 1DevFullSchool

Специалисты образовательной платформы 1DevFullSchool предлагают пройти комплексный онлайн-курс для желающих освоить профессию Flutter-разработчика. Программа разработана ведущими менторами-практиками, за плечами которых  десятки выполненных проектов, в том числе для представителей среднего бизнеса. Программа обучения сформирована на основе собственного практического опыта, поэтому здесь поданы только актуальные и полезные знания, которые могут пригодиться в работе.

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 36800 рублей

  • Длительность: 4 месяца

  • Формат обучения: онлайн-вебинары

  • Сертификат: есть

Преимущества курса:

  • комплексный набор знаний для полноценной работы;

  • доступная стоимость, учитывая огромное количество полезного материала;

  • возможность оплаты в рассрочку;

  • постоянная поддержка менторов;

  • сильная программа трудоустройства.

Недостатки курса:

  • не всегда материалы доступны в личном кабинете;

  • большое количество теории, но практики недостаточно много.

Программа обучения:

  • Ознакомление с языком программирования

  • Продвинутый ООП

  • Базовые виджеты

  • Кодогенерация

  • Особенности управления данными в приложении

  • Специфика архитектуры приложения

Ознакомиться с полной программой курса >>>

_______________________________________________________________

8. Профессия «Мобильная разработка для девушек» |  ITGirlSchool

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

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: от 19000 до 44500 рублей в месяц

  • Длительность: 11 месяцев

  • Формат обучения: вебинары, индивидуальные задания

  • Сертификат: есть

Преимущества курса:

  • поддержка профессиональных программистов;

  • помощь в официальном трудоустройстве;

  • ученики проходят весь материал вместе с менторами;

  • большая партнерская сеть для поиска работодателей.

Недостатки курса:

  • высокая стоимость;

  • большая длительность курса.

Программа обучения:

  • Освоение интерфейса Flutter

  • Типы и использование виджетов

  • Правила работы с архитектурой

  • Работа над дипломным проектом

Ознакомиться с полной программой курса >>>

____________________________________________________________

9. Izi-izi FlutterFlow | Appe

Этот курс ориентирован на абсолютных новичков в области программирования. Обучение происходит в среде FlutterFlow – конструкторе, поддерживающем кроссплатформенную разработку. Программа прекрасно подходит для стартаперов и начинающих IT-специалистов.

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: после предварительного запроса

  • Длительность: 2 месяца

  • Формат обучения: вебинары, тематические задания

  • Сертификат: есть, вручается после завершения курса

Преимущества курса:

  • практикуется постоянная связь с ментором;

  • программа обучения ориентирована на новичков, желающих быстро приступить к полноценной работе;

  • простой принцип изучения материала: всего 20 минут на один урок;

  • предоставление подробных инструкций по работе над каждым домашним заданием.

Недостатки курса:

  • стоимость только по запросу;

  • сравнительно небольшое количество отзывов о курсе на сторонних площадках-отзовиках.

Программа обучения: предоставляется по предварительному запросу

Ознакомиться с полной программой курса >>>

____________________________________________________________

10. Практический онлайн курс  | Flutter-команды Surf

Команда Surf разработала собственный практический курс по изучению среды программирования Flutter. Он отлично подходит для тех, кто желает разрабатывать приложения для всех современных операционных систем. Преподаватели также акцентируют внимание на бизнес-кейсах, поэтому полученными знаниями можно пользоваться и при самостоятельной работе в качестве фрилансера.

ТОП-15 курсов по Flutter: включая бесплатное обучение с нуля для Flutter-разработчиков Обучение, Образование, Flutter, Разработка, Длиннопост, YouTube (ссылка), Блоги компаний
  • Стоимость: 65000 рублей

  • Длительность: 4 месяца

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

  • Сертификат: есть, вручается после завершения обучения

Преимущества курса:

  • сбалансированный курс для тех, кто желает превратиться из новичка в профессионального разработчика в сжатые сроки;

  • авторами образовательной платформы являются действующие Flutter-программисты;

  • курс идеально подходит для новичков;

  • простые системные требования к каждому студенту.

Недостатки курса:

  • решение практических кейсов из коммерческой разработки может затянуться, особенно когда студент неоднократно совершает серьезные ошибки;

  • преподаватели не всегда находятся на связи.

Программа обучения:

  • Знакомство с Dart

  • Знакомство с Flutter

  • Разработка приложения

  • Правила использования архитектур

Ознакомиться с полной программой курса >>>

_____________________________________________________________

Бесплатные курсы Flutter

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

1. Открытые уроки. Мобильная разработка на Flutter — OTUS

Это плейлист с открытыми уроками, в которых представители образовательной программы рассказывают о ключевых особенностях мобильной разработки на основе нашего фреймворка. Курс поможет ознакомиться со спецификой работы в среде Flutter-разработчика. Также авторы бесплатного курса рассказывают о наиболее часто встречающихся ошибках начинающих программистов.

Основные характеристики курса:

  • Особенности настройки Flutter

  • Правила работы с интерфейсом

  • Особенности создания приложений. Важность архитектуры мобильного софта

  • Работа над ошибками

2. Flutter уроки. От идеи до приложения — Flutter.su

Это бесплатный курс по изучению среды разработчика Flutter SDK. С его помощью можно внимательно изучить специфику реализации структур и алгоритмов, приступить к мобильной разработке и искать собственные методы или подходы для решения задач разной сложности.

Основные характеристики курса:

  • Flutter первое приложение Hello World

  • Виджеты StatelessWidget и StatefulWidget

  • ListView: бесконечный прокручиваемый список

  • Форма ввода, проверка правильного ввода

  • Навигация и маршрутизация в приложении, class Navigator

3. Руководство по фреймворку Flutter - METANIT.COM

Это скорее не курс, а руководство по использованию Flutter, к которому приложены полезные задания по созданию приложений. Им можно пользоваться для изучения новых возможностей. Необходимо отметить, что редакция портала постоянно работает над добавлением новой информации о функциях, появляющихся с выходом каждого обновления.

Основные характеристики курса:

  • Введение в Flutter

  • Контейнеры и управление компоновкой

  • Встроенные виджеты и создание собственных виджетов

  • Списки в Flutter

4. Pro Flutter - Youtube-канал Pro Flutter уроки на русском

Автор YouTube-канала создал серию коротких видео о том, как правильно использовать Flutter для разработки мобильных приложений. Отличительной особенностью курса является отсутствие лишней «воды»: вся информация подается в краткой сжатой форме.

Основные характеристики курса:

  • Установка программного обеспечения Flutter

  • Особенности структуры приложения

  • Виджеты

  • Правила изменения шрифтов

  • Особенности добавления картинок

5. Курс по Flutter: для входа в профессию Flutter-разработчика — Youtube-канал Mad Brains

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

Основные характеристики курса:

  • Настройка окружения и первый запуск

  • Все о работе с языком программирования Дарт

  • Специфика работы в среде разработки

  • Верстка и навигация

  • Сетевые запросы

  • Архитектура

  • Полезные советы для начинающих разработчиков

Заключение

Основной проблемой, с которой сталкивается подавляющее большинство разработчиков, является сложность в поисках универсального кроссплатформенного инструмента. Ведь в таком случае требуется одновременное удовлетворение запросов пользователей Android или iOS. На помощь приходит кроссплатформенная среда разработки Flutter. Количество предложений от работодателей будет активно расти. Следовательно, уже сейчас можно постепенно готовиться к обучению. Благодаря простому языку программирования Dart, на котором разработан этот фреймворк, можно быстро и качественно удовлетворять запросы даже самых требовательных заказчиков.

Больше курсов для Flutter-разработчиков  смотрите в нашем каталоге.

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

Показать полностью 11
Обучение Образование Flutter Разработка Длиннопост YouTube (ссылка) Блоги компаний
Партнёрский материал Реклама
specials
specials

Рассказываю про самый быстрый путь в разработку Яндекса⁠⁠

Рассказываю про самый быстрый путь в разработку Яндекса IT, Разработка, iOS, Android, Flutter, Длиннопост

Привет, Пикабу! Меня зовут Евгений, я руководитель одной из команд мобильной разработки в Яндексе. Сразу скажу, что в заголовке чистая правда и мой личный опыт: между первым собеседованием и предложением о работе не прошло и двух дней. В посте ниже я описал, как все происходило и почему за подобные возможности нужно цепляться.

Я попал в Яндекс через Weekend Offer. Если упрощать, то это мероприятие, на котором разработчики решают задания, а команды из разных продуктов Яндекса смотрят на результаты и зовут на собеседования. Все проходит онлайн.

Ближайший Weekend Offer для мобильных разработчиков пройдет 17–18 июня, но задачи надо решить до 12-го, поэтому лучше не откладывать. Все детали здесь.

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

Весь путь укладывается в несколько пунктов

1. Я откликнулся на сайте и попал на отборочный этап

Все задания нужно решать на платформе Яндекс Контест. Мне выпало найти ошибки в коде. На ближайшем Weekend Offer Mobile будет три задачи, по которым нужно набрать не менее 100 баллов, чтобы пройти дальше.

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

2. Пообщался с рекрутером Яндекса

Рассказал о себе, задал вопросы и поделился фидбеком, над какими продуктами мне бы хотелось работать. Тогда мне понравились Яндекс Такси и Яндекс Драйв. На Weekend Offer 17–18 июня искать мобильных разработчиков будут команды Яндекс Маркета, Яндекс Карт, Яндекс Прo и Яндекс Go.

3. Прошел сеанс быстрых свиданий :)

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

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

На следующий день я получил обратную связь от команд и узнал, каким из них понравился я. Произошел мэтч, как в тиндере, за которым последовал офер.

Почему Weekend Offer не стоит пропускать

• Это слишком ценный опыт для разработчика

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

Даже если вы не пройдете с первого раза, с вами останется крутой опыт, благодаря которому будущие собеседования будут проходить легче и увереннее.

• Быстрый офер не съест ваши нервные клетки

До Яндекса я поработал в двух компаниях, но собеседовался во многие. Это стресс. И чем дольше все продолжается, тем больше он выматывает. В рамках Weekend Offer все происходит быстро, поэтому и нервничать придется недолго. На ближайшем Weekend Offer Mobile все собеседования можно пройти за одни выходные.

Быстрый офер эмоционально намного проще, чем стандартный формат найма.

• Работа в Яндексе поможет прокачаться в своей специальности

Продуктами Яндекса пользуются миллионы людей, а команды решают по-настоящему интересные задачи. В такой обстановке сверхбыстро растет квалификация разработчика.

Рассказываю про самый быстрый путь в разработку Яндекса IT, Разработка, iOS, Android, Flutter, Длиннопост

Коридор к тренажерному залу в одном из столичных офисов Яндекса

И еще мне кажется, что печеньки на кухне и другие удобства в офисе как-то недооценивают. Когда я устроился на вторую работу, искренне удивился бесплатному кофе. Офисы Яндекса предлагают намного больше: от библиотеки и спортзала до тех самых вкусных глазированных сырков по средам.

Чем стандартный найм отличается от быстрого офера в Яндексе

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

Конечно, у стандартного найма тоже есть свои плюсы, поэтому быстрый офер это не замена, а альтернатива привычному формату. Но, на мой взгляд, плюсы стандартных собеседований больше для работодателей, а не соискателей. Поэтому советую не тянуть до последнего дня и зарегистрироваться на Weekend Offer Mobile прямо сейчас. Чем раньше вы это сделаете, тем больше будет времени, чтобы спокойно подготовиться (советую порешать задачи по алгоритмам на LeetCode). Всем удачи!

ПОДРОБНЕЕ О БЫСТРОМ ОФЕРЕ

Реклама. ООО «Яндекс»

Показать полностью 1
IT Разработка iOS Android Flutter Длиннопост
4
dexsys
dexsys
2 года назад
Лига программистов

Dio vs HTTP: опыт перехода от одного к другому⁠⁠

Меня зовут Влад, я iOS/Flutter-разработчик в DexSys на проекте DexBee*. В этой статье:
• расскажу о своём опыте перехода с одного HTTP клиента(HTTP) на другой(Dio)
• объясню, для чего это было сделано, и какие преимущества имеет Dio над HTTP
• кратко расскажу про кодогенератор Freezed и потоки Flutter’а. Конечно, с примерами кода. А в конце статьи вы найдете демо-проект под всё это дело)

*DexBee - это клубная система вовлечения клиентов в занятия фитнесом. В основе системы лежит контроль нагрузки клиента во время тренировки.


«DexBee Клуб» - приложение для управления настройками клуба в системе. Первый релиз приложения был в конце 2021 года, и работа над ним до сих пор продолжается. Приложение написано на Flutter.

Почему понадобился переезд?

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

MVP – проект с минимальным функционалом, который покрывает некоторые потребности потребителя.

Поэтому решили попробовать кроссплатформу. На тот момент я писал только под iOS, и знания по Flutter у меня были нулевыми. Для флаттера на тот момент был выпущен уже второй мажорный релиз. Язык развивался, да и сейчас развивается, как на дрожжах, количество вакансий для него росло, сообщество разработчиков под него в России тоже немалое, что наталкивает на мысли о хорошем будущем фреймворка.

Так вот, мне дали 2-3 недельки на изучение и ещё немного времени на простенький демо-проект, чтобы проверить, как это вообще работает, и получится ли что-то дельное. Далее мы запустили первую версию Dexbee Клуб, в которой можно было авторизоваться и протестировать интернет на доступ к нашим сервисам. Этот функционал, в первую очередь, помогал нашей бравой техподдержке подсказывать клиентам как правильно разместить оборудование в клубе.

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

Нужно было создать два запроса на сервер – авторизацию и обновление логин-токена. Перечитав кучу статей и форумов с вопросом «А что выбрать-то?», я чаще всего получал ответы как раз про HTTP и Dio. Единогласного ответа, конечно же, не получить, но большинство рекомендовало именно эти пакеты. Я решил взять HTTP, он показался простеньким для изучения и справлялся с основными функциями, что и сейчас прекрасно делает.

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

Тема для холивара: проектировать сразу хорошо или всё-таки ради скорости можно поступиться качеством?

Для проверки теории, а может из-за опыта написания на Flutter, я решил поступиться качеством и спроектировать, так сказать, не самое «резиновое» решение, но быстро внедряемое.

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

Преимущества Dio над HTTP

На этот раз я взял в работу Dio, сейчас объясню почему: HTTP умеет в GET, POST, PUT, DELETE, PATCH, загружать файлы с помощью Multipart запроса.

Dio умеет всё тоже самое, но с некоторыми преимуществами:

  • Глобальные настройки - при создании Dio можно указать baseURL, таймауты соединения, получения ответа и так далее.

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

  • Есть возможность отменить выполнение всех запросов разом. И отменить отдельно взятый.

Отмечу, для HTTP уже написаны пакеты, которые дополняют его функционал и есть возможность получить все плюшки, какие имеет Dio, но у Dio всё это есть «из коробки». Важно понимать, оба пакета работают с одинаковой скоростью и быстрее Dio отправлять/получать ответ от сервера не будет.

Кажется, будто бы HTTP – голый клиент, Dio – уже нарощенный дополнительными плюшками, но, как оказалось позже, есть ещё Chopper и Retrofit – кодогенераторы запросов. Для создания запроса надо описать сигнатуру метода: путь, параметры урла, боди, что должно вернуться в ответе, запустить генератор, и тело метода создастся. Ускорение ускорения или ещё один из этапов программистской лени?

Freezed

«yet another code generator» – как пишут создатели пакета. Я бы лучше назвал подобные пакеты «инструкцией для генерации», то есть генерирует код пакет build_runner, а во Freezed описано, как надо сгенерировать. Если вкратце, с помощью него можно описать структуру серверного ответа, запустить генерацию кода и, «вуаля», парсер готов. Описанный мной функционал лишь минимальная часть того, что умеет этот пакет, так что, если вы ещё не ознакомились с ним, то я рекомендую перейти и почитать подробнее здесь. Модель дополнится методами copyWith и toString. Всё это необходимо и, порой, занимает кучу монотонного времени.

Потоки Flutter

При запуске Flutter-приложения вызывается метод main, в котором создается главный изолят, т.е. главный поток или поток для отрисовки интерфейса. После main метода запускается цикл событий, Event Loop.
Event Loop, как и следует из названия, это цикл, конец которого зависит от жизни потока, в котором он работает, в данном случае цикл завершится, как только приложение будет выгружено из памяти.

В нём происходит выполнение очередей по принципу FIFO(First in - First out). Как следует из названия, хоть тут и имеется возможность создать асинхронные Future методы – они не выполняются синхронно. Очереди делятся на два типа:

  1. Microtask – служит для выполнения задач, не занимающих много времени. Создать можно при помощи Future.microtask.

  2. Event – все остальные операции. От взаимодействия с UI до работы с БД, API и т.д.

Очереди выполняются именно в такой последовательности. Сначала массив microtask, а далее events. После выполнения любой инструкции, будет запущена очередь microtasks. По работе Event Loop есть отличная видеопрезентация, смотрите тут.

Для выполнения реального синхронного кода есть две возможности: метод compute и, более сложное для реализации, использование класса Isolate. Оба варианта создают новый поток или, по-другому, – изолят. Назван он так не случайно. Каждый поток во Flutter изолирован от других и имеет свою собственную область памяти. Нет возможности допустить deadlock, и это круто. Но, чтобы воспользоваться объектами, созданными одним изолятом, надо передать их копию в другой изолят. Общение происходит через сообщения, поэтому оба изолята должны знать порты друг друга. Изоляты следует уничтожать, чтобы они не занимали память впустую .

Передать новому изоляту можно только функцию верхнего уровня, глобальную функцию, или статический метод класса.

Метод compute настраивает общение и уничтожение изолята внутри себя.

Вот отличная статья, иллюстрирующая, почему стоит пользоваться изолятами: https://dev.to/alphamikle/why-should-you-use-isolates-in-flu...

И ещё список для статей для более глубокого понимания работы изолятов:
• https://habr.com/ru/articles/497278/#
• https://blog.codemagic.io/understanding-flutter-isolates/
• https://martin-robert-fink.medium.com/dart-is-indeed-multi-t...
• https://dart.dev/language/concurrency
• https://skondratev.com/futures-isolates-event-loop-vo-flutter/#:~:text=Модель исполнения в Dart,Дарта — Изолят ( Isolate ).

Пример

В этой секции я напишу простенькое клиент-серверное приложение с использованием Dio, покажу, как добавить в проект кодогенератор freezed и как им воспользоваться, и выведу отправку запроса и декодирование JSON в отдельный изолят. В свободном доступе есть куча бесплатных API, на которых можно попрактиковаться, найти их можно здесь. Я выбрал Spaceflight News API, а метод v3/articles с загрузкой 100000 элементов за один запрос.

Итак, чтобы добавить Dio в проект, надо написать название пакета в pubspec.yaml и выполнить команду pub get.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

Дабы не писать под каждый запрос отдельный метод, я описал класс NetworkRequest, в котором будут храниться необходимые параметры запроса.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

Чтобы ответ не сломался из-за нескольких неожиданных элементов, имеющих не тот тип, который необходим нам, я сразу же описал класс ответа на запрос списка «космических» новостей. Для этого обернул конструктор ArticleResponse в конструкцию try catch.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

Теперь и сам NetworkManager. При инициализации менеджера, создал клиент с настройками по умолчанию.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

Метод performRequest принимает параметры запроса и функцию, по которой будет парсить ответ, если запрос успешен. Model - это тот объект, что мы ожидаем на выходе.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

Вот и пример его применения.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

В текущем виде запрос выполняется в главном изоляте, что, при развитии проекта, может мешать отрисовке интерфейса. Да и с добавлением новых запросов придётся описывать всё больше ответов с сервера. Не вручную же это делать. Так что, первым делом добавлю пакет freezed в проект. Делается это при помощи всё того же pubspec.yaml.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

dependicies – пакеты с фреймворками и библиотеками, которые используются в проекте, например, элементы интерфейса или утилиты для использования возможностей телефона, локатора, блютуз и т.д.

dev-dependicies – пакеты, помогающие в разработке проекта, например: тесты, кодогенераторы и т.д.

Выполнить всё тот же pub get, и поехали пользоваться.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

Все подчеркивания это нормально. Теперь необходимо запустить команду генерации. Делается это следующим образом: надо открыть Терминал, перейти в папку с проектом и выполнить команду flutter pub run build_runner build. После успешного выполнения команды подчеркивания должны пропасть. Вот таким нехитрым образом и дополнилась модель респонса.

Далее, я выведу выполнение каждого запроса в отдельный изолят, воспользовавшись функцией compute. Созданный изолят не может получить доступ к уже настроенному Dio клиенту, поэтому я создам класс, в котором будет храниться клиент, запрос и функции для парсера.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

И опишу глобальный метод, который нужно будет выполнить.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

Таким образом, в performRequest я создам IsolatedNetworkRequest и выполню метод compute.

Dio vs HTTP: опыт перехода от одного к другому IT, Программирование, Программист, Flutter, Http, Dio, Длиннопост

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

Итог

У нас есть клиент с глобальными настройками, для которого можно написать перехватчики, если появится необходимость корректировать отправку и результаты запросов. На каждый новый ответ нет необходимости тратить время на описание класса. А запросы не мешают работе изолята, отвечающего за отрисовку интерфейса. Ознакомиться с демо проектом можно по этой ссылке: https://github.com/Wenomok/dio_example

Буду рад любым отзывам! Есть желание и дальше писать статьи и делать их качественными и максимально интересными.

Автор: Влад, iOS/Flutter-разработчик в DexSys

Показать полностью 11
[моё] IT Программирование Программист Flutter Http Dio Длиннопост
7
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии