Русский
Русский
English
Статистика
Реклама

Своё

Ловец идей, почти хакатон, или как быстро прокачать команду в DartFlutter

25.11.2020 08:15:25 | Автор: admin
image

Итак, дано: команда чуть больше 50человек. Восновном занимаемся web-разработкой совсякими интеграциями, личными кабинетами иe-commerce. Однако впоследнее время около 20% это мобильная разработка. Есть еще отдельная компактная команда, пишущая наDart/Flutter.

Задача: подготовить как можно больше программистов изосновной команды кзадачам мобильной разработки.

Основной мобильный стек, который мыиспользовали раньше React Native иFlutter. Нам важна портабельность, это покупают. Оба показали себя очень достойно всвоём классе для разработки бизнес-приложений. Есть известные ограничения инарекания разработчиков, ноэто тема отдельной статьи (Есть всего два типа языков программирования: те, накоторые люди всё время ругаются, ите, которые никто неиспользует Bjarne Stroustrup). Например, приложения наFlutter получаются более сексуальными ишустрыми, нокак дело доходит довиджетов приходится писать нанативе. Реактовиков унас исторически больше (пересесть свебовского React вReact Native довольно просто), авот Dart/Flutter-разработчик зверь редкий.

Унас уже был опыт разработки прикольных проектов врамках хакатонов (бесплатный HelpDesk, Хуижин, PlanningPoker иеще пара подвигов). Нопрактика показала, что врамках хакатона брать незнакомую технологию дело гиблое. Половину времени будут IDE настраивать. Ярешил сделать внутренний конкурс сденьгами ипризами запервые три места. Судить будет тасамая опытная-компактная команда, которая наFlutter уже собаку съела. Осталось выбрать несильно сложный проект, желательно, чтобы внем был еще какой-то практический смысл. Скажу сразу, невсе прошло гладко, сказалась неопытность втаких делах.

Мырешили реинкарнировать Squarespace Note, которое водин момент перестал поддерживать его разработчик. Это ловец идей, который тыоткрываешь, пишешь себе заметку иотправляешь всвой тудушник или электропочту. Завернули затею вовнутренний конкурс среди программистов Сибирикс. Назвали проект SingularityNote. Дали дизайн, бэклог, стэк технологий (Dart+Flutter или React Native) ивсе конкурсные дела: правила, жюри ипризовой фонд.

Что пишем


За3новогодние недели (конкурс проходил всамом начале 2020года) нужно сделать минималистичный редактор заметок свозможностью отправить заметку вSingularity App, напочту или Evernote, приложение должно быть нарусском ианглийском языках взависимости отлокации пользователя.
Фичи конкурсного приложения:

  1. заметку можно отправить всвой Singularity App, Evernote или напочту (+ настройка ихпривязки, + стейты иконок взависимости отнастроек отправки),
  2. кзаметке можно прикрепить изображение изгалереи устройства или снимок камеры,
  3. функций минимум. Все манипуляции сзаметками одним свайпом:
    • Отправить готовую заметку? Свайп вверх.
    • Удалить? Свайп вниз.
    • Посмотреть все отправленные заметки? Свайп вправо.
    • Изменить настройки? Свайп влево.
    • Исмена темы при встряхивании телефоном.
  4. язык интерфейса ру/en взависимости отлокации пользователя,
  5. для каждой отправленной заметки всписке видно: начало текста, дата создания, куда она отправлена,
  6. если заметку неудалось отправить (например, интернета нет), она становится серой, апри тапе нанее повторная отправка,
  7. рекламный баннер нанаш смежный проект.


image

Стек технологий икритерии оценки


Проект поусловиям мог быть выполненна:

  1. React Native (React + Redux (предпочтительно)/ Mobx (норм паровоз).
  2. Dart + Flutter (должен использоваться паттерн BLoc).

Обычно нахакатонах мыприменяем технологии, которыми ранее непользовали набоевых проектах.

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

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

image

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

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

Как это было


Решились участвовать четыре команды разработчиков. Старт 4января. Попути одна команда слилась. Остальные 27января отдают работы жюри наоценку. Оценивали подвум параметрам:

  1. Культурный код. Вкоде недолжно было быть дичи, иего можно легко поддерживать (от1до10баллов),
  2. Юзабилити. Качество реализации. Стабильность приложения (от1до10баллов).

Судейство открытое. Побеждает приложение, набравшее наибольшее количество баллов.
Дмитрий
3 место

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

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

Витоге мызаняли 3место из3. Жюри, которое проводило Code Review сказали, что было видно, что торопились, код невсегда аккуратный ичитабельный (счемя, собственно, солидарен). Однако приложение работало стабильно, функции свои выполняло имыединственные, кто сделал анимацию сохранения заметки всписок (свайпаешь вниз, появляется палец стекстом отом, что заметка будет сохранена).

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

P.S. Участие вконкурсе потом сильно мне пригодилось вразработке мобильного приложения для ПроАптека.

Евгений
2 место

Явыбрал React Native, потому что мне нравитсяJS исним яболее-менее знаком, ноконкретно наReact Native + Redux писал впервые. Походу изучал, как всё работает поразным статьям ивидео-урокам. НаJSписал только яиобойти нанём крутых кодеров наDart уменя небыло шансов. Ядаже был единственным, кто сделал авторизацию через QR-код, ноиэтого нехватило, чтобы победить дартеров :)

Денис
1 место

Выбрал Flutter, потому что гугловские продукты мне ближе, аеще внем стейт храниться впотоках (паттерн BLoC) якнему привык. React Native принято использовать всвязке сRedux, который янеочень люблю.

Сделал приложение примерно за4-6 восьмичасовых дней (суммарно). Первые дни разработки проходили под температурой 38-39. Видимо, это скорее помогло, чем помешало :)

Что потом


Апотом мыдоработалито, что нужно было доработать, иотправили приложение вофициальные сторы Google Play иApp Store.
Денис
1 место

Боевую версию для сторов допиливал тожея, уже врабочее время. Моя конкурсная версия приложения работала только наAndroid, потому что дома небыло ничего наiOS. Теперь нужна была иверсия для iOS сделалее, еще дополнительный бэкенд для отправки писем исоздания заметок вEvernote (такая опция была доступна только для PRO-аккаунта Evernote), сканер QR-кодов иеще мелкие доработки.

НаSummer Tagline Awards вкатегории Лучшее мобильное MVP-приложение проект взял бронзу.

image

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

Что получилось:

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


Что неполучилось:

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

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

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru