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

Пикабу Игры +1000 бесплатных онлайн игр

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

Пикман

Аркады, На ловкость, 2D

Играть
Щелкните блоки, чтобы они улетели в 3D. Разблокируйте куб, чтобы овладеть головоломками

Разбери Кубик

Головоломки, 3D, Обучающая

Играть
Динамичный карточный батлер с PVE и PVP-боями онлайн! Собери коллекцию карточных героев, построй свою боевую колоду и вступай в бой с другими игроками.

Cards out!

Карточные, Ролевые, Стратегии

Играть
Игра «История одной фермы» - увлекательное и бросающее вызов вашим серым клеточкам приключение, от которого невозможно оторваться!

История одной фермы - маджонг

Маджонг, Казуальные, Приключения

Играть
Классический арканоид для любителей ретро-игр. Защитите космический корабль с Печенькой (и не только) на борту, проходя уровни в арканоиде.

Арканоид Пикабу

Арканоид, Аркады, Веселая

Играть

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

  • CharlotteLink CharlotteLink 1 пост
  • Syslikagronom Syslikagronom 7 постов
  • BydniKydrashki BydniKydrashki 7 постов
Посмотреть весь топ

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

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

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

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

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

Flutter

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

Программирование Разработка Все
33 поста сначала свежее
6
dexsys
dexsys
2 года назад
Лига программистов

Нативный код во Flutter проекте⁠⁠

Всем привет! Меня зовут Влад и я iOS/Flutter-разработчик в DexSys на проекте Dexbee. В этой статье поделюсь своим опытом подключения нативного кода на мобильных платформах Android/iOS во Flutter проекте «DexBee Клуб».

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

Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост

Так выглядит приложение «DexBee Клуб» внутри

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

  • датчикам, камере, аккумулятору, геолокации, звуку, подключению

  • обмену информацией с другими приложениями, запуску других приложений

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

Но, как я написал ранее, всё это уже реализовано.

Второй случай, при котором нам все-таки надо писать нативный код, это необходимость в «нестандартной» фиче, которую мне и надо было реализовать.

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

Вкратце, основная задача:

Есть оборудование, которое клиенты должны суметь настроить, не устанавливая приложения поставщиков этого самого оборудования. Настройка происходит по Bluetooth, где, описывая каждую команду, на приём/отправку пакетов ушёл бы не один месяц. Поэтому, заботливые поставщики написали фреймворки-обёртки под мобильные платформы iOS и Android.

Но наш проект — на Flutter. Я думал, что придётся немного «попотеть», но, на деле, все оказалось намного проще, чем вспоминать свои навыки написания под Андроид трёхлетней давности.

Задача ясна, пора начинать делать

Стоит упомянуть, технологии мы стараемся держать самыми актуальными, поэтому Flutter версии 3.3.10. А описывать я буду задачу на передачу команды «Сканировать доступные для подключения WiFi сети» оборудованию DexBee.

На выход нам нужен список сетей для презентации пользователю. На основе этого списка пользователь будет решать: к какому WiFi необходимо подключить устройство. Код будет предоставлен на Flutter и Swift, чтобы не получить в свой адрес больших и малых лепёх от уважаемых андроид-разработчиков.

Итак, приступим

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

Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост

Для получения ответа от устройства подписываемся на делегат HubConfig.

Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост

Находим нужный метод и описываем работу с ним.

Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост

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

Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост

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

Теперь мы имеем всё необходимое для написания, собственно, кода на Flutter.

Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост

Стилизованный код на gist: https://gist.github.com/Wenomok/98b40e90e6095cf42d266053fe2f...

По порядку:

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

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

  1. И мапим словарь в нужный нам объект

Просто до невозможности. А ведь первой моей мыслью по этой задаче было — «сто пятьсот часов поди потребуется…».

Если копать чуть глубже, то общение по каналу происходит асинхронно по типу «отправил запрос – получил ответ», причём ответ точно должен быть хотя бы null. При вызове метода invokeMethod у MethodChannel идёт передача названия вызываемого метода платформы и его аргументы

Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост

Далее, эта информация преобразуется в бинарник и отсылается на платформу.

Канал платформы(MethodChannel) — это объект, который объединяет имя канала и кодек для сериализации/десериализации сообщений в двоичную форму и обратно.

Далее следует сам нативный код. На флаттере был открыт канал с идентификатором, надо на него подписаться. Чтобы разделить логику разных фич, создаём отдельный класс и в нём подписываемся на канал. Идентификатор должен соответствовать. А делаем мы это на инициализации приложения, то есть в AppDelegate.

Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост
Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост

стилизованный код на gist: https://gist.github.com/Wenomok/ea1cf6775ade93e8df2d150eb3bf...

Разберемся. При создании AppDelegate, мы также создаем объект HubMethodChannel и при запуске приложения вызываем у него метод handle. В handle создаем канал с тем же идентификатором, что и во флаттер, и подписываемся на обновления этого канала с помощью метода setMethodCallHandler. У нас только один метод и его название scanWiFiHubList, поэтому ждем его вызов и выполняем нужные нам действия.

В нем передаем замыкание с двумя параметрами: call и result. Call — объект, который приходит с флаттера, result — то, что должно вернуться во флаттер.

Нативный код во Flutter проекте IT, Программирование, Разработка, Flutter, Приложение на iOS, Приложение на Android, Опыт, Длиннопост

Визуально это происходит примерно так

Что имеем в итоге:

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

  • довольные клиенты, которые теперь без постронней помощи могут настроить своё оборудование на работу с нашими сервисами

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

Для более подробного изучения этой темы я советую ознакомиться с официальной документацией: https://docs.flutter.dev/development/platform-integration/pl...

А также могу посоветовать хорошую статью на Хабре о том, как это работает: https://habr.com/ru/articles/666272/

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

Показать полностью 10
[моё] IT Программирование Разработка Flutter Приложение на iOS Приложение на Android Опыт Длиннопост
2
4
dexsys
dexsys
2 года назад
Лига программистов
Серия Flutter

Перенести банковское приложение на Flutter в одиночку и сохранить свои нервы: миссия невыполнима?⁠⁠

Дмитрий, Flutter-разработчик DexSys, в кроссплатформенной мобильной разработке уже больше 3х лет. В этой статье расскажем, как он переносил функционал банковского приложения с нативного на кроссплатформу, поделимся проблемами, вставшими на пути, и заглянем внутрь проекта «Мобильный банкир». Передаем слово Диме:)

«Пара слов о продукте:

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

МБ работает на двух платформах:

  1. Мобильное приложение для сотрудников или партнёров банка — обеспечивает процесс доставки.

  2. Web-приложение, в котором можно настроить систему и мониторить доставку.

Команда проекта: 1 product owner, 2 системных аналитика, 3 back-разработчика, 1 front-end разработчик, 1 iOS/Android разработчик, 2 тестировщика, 1 flutter-разработчик, 1 собственный специалист поддержки пользователей.

Зачем нужна кроссплатформа?

Бизнес-заказчик дал нашей команде задачу не увеличивая количество человек уменьшить время на реализацию и выпуск идей/обновлений.

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

Так что же такое Flutter, и с чем его едят?

Flutter уверенно занимает ТОП-1 в кроссплатформенных языках. Он сокращает время на разработку, и, соответственно, на доставление продукта конечному пользователю. Если говорить бизнесовым языком, то «скорость выше и платишь меньше».

Едят Flutter вместе с языком Dart. На вкус такой же аппетитный, как и JavaScript.

Начав писать на Flutter, можно прочувствовать на себе следующие моменты:

  • Нервные клетки исчезают гораздо реже;

  • Появляется больше свободного времени;

  • Повышается самооценка:)

    Чуть больше деталей:

  • Под капотом свой графический движок Skia и рантайм Dart VM. Написано на C/C++. Соответственно, запускать код ты можешь прямо из консоли, без всяких IDE`шек;

  • Очень хорошо поддерживаются 2 платформы – iOS/Android, чуть меньше – WEB, и потихоньку встает на ноги поддержка MacOS/Windows/Linux.

Как переводил? С чего начинал?

Я пришел на проект, когда нативные версии были в проде уже более 5-ти лет. А flutter-копия только училась ходить — был написан функционал одной роли. Всего в приложении их три:

  • Курьеры: доставляют банковские продукты

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

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

Изначально я хотел переписать всё на BLoC, так как это чистая и всеспособная архитектура. Но любовь к трудностям победила — я решил оставить текущую реализацию, MobX.

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

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

Перенести банковское приложение на Flutter в одиночку и сохранить свои нервы: миссия невыполнима? Программирование, IT, Разработка, Flutter, Кроссплатформенность, Длиннопост

Привести мысли в порядок помогли размышления о том, что у Flutter большое растущее комьюнити и наверняка для grpc-запросов уже есть готовые библиотеки. И я не ошибся! Мои нервные клетки сохранились:)

Но ненадолго… Вскоре после переписывания функционала, в связи с безопасностью тестовых сред, grpc-запросы отменили. Пришлось откатывать все обратно до http-запросов.

Перенести банковское приложение на Flutter в одиночку и сохранить свои нервы: миссия невыполнима? Программирование, IT, Разработка, Flutter, Кроссплатформенность, Длиннопост

Функционал ролей

Если вам когда-либо потребуется работать с распределением ролей, рекомендую использовать абстракцию. Благодаря ей:

  • сильно сокращается время багофиксов и изменений;

  • один элемент может использоваться в 5-ти местах, не нарушая функциональность каждого из них


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

    Решением стал MobX. На нём можно сделать «обозреваемый геттер», который будет смотреть и следить за заданными условиями. Если условие поменялось – геттер сразу его подхватит и обновит информацию. Так мы оставляем чистый код и не переносим все условия на UI.

Перенос функционала курьеров:

В приложении курьеру нужно иметь карту с пакетами и список пакетов и договоров на доставку. По каждому договору нужны:

  • Детальная информация

  • Договоренности

  • Реквизиты новой карты

  • Печатные документы

  • Фото клиента

  • Фото залога и чек-листа

  • Фото основного пакета документов

    Расскажу подробнее о некоторых пунктах:

    Реквизиты:
    На этом этапе реализовали для курьеров возможность ввести банковский счет, где мы используем overlay.

    Печатные материалы:
    У dart’а есть возможность запускать ссылки. Просто вставляешь в метод (launchUrl) диплинк для почты и вуаля: для того, чтобы отправить печатные материалы на почту, нужно нажать всего одну большую кнопку по центру экрана – трудно промахнуться.

    Фото клиента/залога/документов:
    Этот функционал используется для идентификации клиента. Основная задача заключалась в том, чтобы сделать единую, но при этом адаптивную схему фотографирования, так как UI и техническая часть не везде одинаковые. Также у самих фотопакетов могли различаться состояния.

    Решение: Разграничили state на следующие части: у каждого фотопакета есть своя view model с одинаковой структурой, у каждого сегмента/формы — отдельный state, в котором хранится основная информация по сегменту/форме + специфическое взаимодействие с сервером.

    Таким образом, мы получаем примерно такую структуру:
    PackageDetails -> ClientPhotoSegment -> ClientPhotoStore -> ClientPhotoVM.

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

    Решение: за ним далеко идти было не нужно, т.к. из коробки Flutter у нас уже есть подходящий SliverAnimatedListView

Что в итоге?

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

Таким образом, мы освободили еще и ресурс тестировщика — теперь не нужно тестировать две платформы. Появилось время на автотестирование и улучшение процессов.

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

Рекомендации всем, кто хотел бы вникнуть во Flutter:
1) Очень советую пробежаться по официальной документации, ибо она написана какими-то невероятными гениями.
2) Можно глянуть ютуб канал разработчиков.
3) Ну и напоследок: чистая архитектура + BLoC понятным языком»

Автор статьи: Дмитрий, Flutter-разработчик DexSys.

Показать полностью 2
[моё] Программирование IT Разработка Flutter Кроссплатформенность Длиннопост
12
4
Krikotik
2 года назад

Как сделать нормальное форматирование в VS Code в Dart?⁠⁠

Люди добрые, помогите. Мой форматировщик не хочет работать адекватно и после разных методов/виджетов flutter ставить разные отступы (2 или 4 пробела). Но самое главное то, как он переносит вообще строки. Можете заметить, что свойства виджета Text вообще форматируются и кидаются вот виджет Material App, а в одной строке может помещаться 3 закрывающихся скобки.

Как сделать так, чтобы при форматировании строки привычно шли "лесенкой" с отступами в 4 пробела и закрывающие скобки были на разных строках? VS Code уже переустанавливал и заново скачивал плагины, которые на это влиять не могут.

Огромное спасибо!!!

Как сделать нормальное форматирование в VS Code в Dart? Dart, Flutter, Visual Studio, Visual studio Code, Разработка
[моё] Dart Flutter Visual Studio Visual studio Code Разработка
2
7
KonungzRage
KonungzRage
2 года назад
Лига Геймеров

Обновление 1.0.5 мультиплеерной стратегии MakeWorld⁠⁠

Всем привет, сегодня хотел бы презентовать вам обновление 1.0.5 и его новые фишки:

1. Добавлены миссии

Обновление 1.0.5 мультиплеерной стратегии MakeWorld Инди игра, Gamedev, Видеоигра, Игры, Пошаговая стратегия, Онлайн-игры, Мультиплеер, Flutter, Видео, Gameplay, Мобильные игры, Разработка, Инди, Стратегия, YouTube, Длиннопост

2. Улучшен скроллинг и различные правки UI

3. Правки по балансу


Больше о миссиях в видео:

Что в планах далее? В ближайшие несколько патчей планируется большая переработка UI, добавление новых строений и адекватного чата с уведомлениями всего сервера (как это сделано в некоторых ММО)


Ну и небольшой FAQ по игре в конце:


- Где можно попробовать?

- Android: https://play.google.com/store/apps/details?id=ru.dvmatyun.ma...

- В браузере (оптимизирована хуже, рекомендую Google Chrome с ВКЛЮЧЕННЫМ аппаратным ускорением):

https://make-world-strategy.web.app/

- Обязательно ли регаться?

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

- Победное условие в игре?

- Сейчас пока 2 режима игры:

1. Новый (зарелизил буквально неделю назад). Там цель указана в правом верхнем углу. Например в данном случае успеть построить 6 ферм до 100 ходов (спойлер: это гига легко) Так же можно выбирать уровень сложности

2. Классика. Построить первым чудо света - пирамиду хеопса. Для этого необходимо изучить необходимые научные техи и культурные ачивки + скопить какое то количество ресурсов.

Кто первый соответственно, тот и победил

- Клетки слишком крупные, можно ли уменьшить?

- Да, можно кликнуть в левом нижнем углу и снять галку с пункта "increase performance" (влияет на производительность)

- Как подсоединиться к созданной кем либо игре или создать свою карту?

- 3я кнопка в меню "Custom game"

Интерфейс в игре:

- Правый нижний угол - кнопка пропуска хода (все игроки должны нажать кнопку, если играете в соло - то ход перейдет сразу на следующий)

- левый верхний угол - выделены иконки научных исследований и культурных ачивок. Клики по ним откроют меню прокачки

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

Показать полностью 1 1
[моё] Инди игра Gamedev Видеоигра Игры Пошаговая стратегия Онлайн-игры Мультиплеер Flutter Видео Gameplay Мобильные игры Разработка Инди Стратегия YouTube Длиннопост
8
14
cheiser
cheiser
2 года назад
Лига фрилансеров

Как войти в IT. Flutter⁠⁠

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


И так.


HARD SKILLS


#фреймворк

1) Я знаю как устроены [Element] и его наследники. Я оттрассировал все методы ключевых классов фреймворка и знаю что происходит под капотом.

2) Знаю начинку многих виджетов. Начинку некоторых уже зазубрил. Особенно, связанных с темами.

3) Имею широкий арсенал виджетов. Включая анимацию. Давно не встречал виджеты, которых я не знаю.

4) Имею представление о том, что происходит на Render уровне => понимаю как и где вставить [Flexible]. Но сами Render объекты не разбирал.


#Теоретичекие знания

Структуры и алгоритмы. Поверхностно.

Всевозможные архитектуры.

Паттерны. Ознакомился со всеми. Не зазубривал.


#стейт менеджмент

Provider, Bloc. Есть пет-проекты и с тем, и с другим.


#data слой

SQL, floor, firestore, shared prefs,

Кодогенераторы (да, да, это должно быть в domain сущностях, не душните)


#продвинутое

Isolate, плагины, чуток rxdart.

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

Kotlin. Часов 100. Без мультитрединга. Но его основные достоинства \ недостатки знаю.


#серверное

http, REST API, OSI, Облака, MQTT


#дополнительно

-Знаю всякие интересные нюансы Flutter, которые не описаны в документации.

-Имел опыт с C++ => Знал что происходит на низком уровне. И что под капотом высокоуровневых языков


SOFT SKILLS


Имел несколько шабашек. Прочувствовал, что ТЗ заказчика != тому, что он хочет.


Работал в командах, где я был единственный разработчик. Остальные - дизайнеры, железячники.


Пизжу как господь (всмысле умею связать два слова и хоть как-то это интересно подать).


ПРАКТИЧЕСКИЙ ОПЫТ


2 года программирования.

Несколько соревнований\хакатонов.

Пятак репозиториев. Половина - фулстечные.

Пара расширенных библиотек.

Работа по макетам из Figma.

Flutter реализовал некоторые предложенные мною API


СТЕК (вообще, у меня IoT стек)


Flutter - Dart - клиент

NodeJS - Typescript - облака, CMS

Jupyter - Python - ML

PlatformIO - C++ - контроллер


КАК ИЗУЧАЛ


StackOverflow, Medium (Столько раз меня спасал. Жаль, из-за санкций нельзя подписаться), Habr, иссью в репе флаттера часто содержат полезные комментария от разрабов. Доки, ясен хер.


===========


Некоторые моменты настолько обязательны, что я их даже не упоминаю. Вроде git, injection, хотя бы macos виртуалки.


===========


Как искал - откликался на все jun jun+ вакансии.

Где - На habr карьере, в телеге, на hh. 

Абсолютно все, кроме прокнувшей вакансии - отказы или игнор.

Одно единственное собеседование

Один единственный оффер.


===========


Итого. Войти в IT - Чистое везение. Я уже хотел бросать Flutter и уходить в нативку. Не знаю почему именно меня выбрали. Пеняю на знание низкоуровневых деталек. Командного опыта у меня не было. Коммерческого тоже.


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

Как войти в IT. Flutter IT, Flutter, Мат, Длиннопост
Показать полностью 1
[моё] IT Flutter Мат Длиннопост
16
0
antson
antson
2 года назад
ИТ-проекты пикабушников

Изучаю flutter. Успехи в открытом репозитории GitHub⁠⁠

Изучаю flutter. Успехи в открытом репозитории GitHub Flutter, Программирование, Самозанятость, Приложение на Android, Android разработка

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

На платформе флатера за первый день сделал боковой дайвер, экран о том как пользоваться программой (статическая верстка инструкций). Разобрался с навигацией и локализацией.


Все пункты бокового меню уже работают (дополнительно там открываются внешние страницы в броузере и действие поделиться)


Далее  Экран настроек

Работа с базой данных через floor

Импорт данных из внешнего API (json)

Интеграция со службой

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


https://github.com/Muraveiko/npd_receipt

Код открытый и доступен по ссылке выше

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

Показать полностью
[моё] Flutter Программирование Самозанятость Приложение на Android Android разработка
5
KonungzRage
KonungzRage
3 года назад

Make World как играть [Часть 1]⁠⁠

Видео о том, как развиваться и что строить в начале.

Бесплатная мобильная версия (play market): https://play.google.com/store/apps/details?id=ru.dvmatyun.ma...

web версия (для бразуера, производительность неважная): https://make-world-strategy.web.app/#/

Дискорд сообщество: https://discord.gg/gAgTQNZPVh

Показать полностью
[моё] Игры Пошаговая стратегия Стратегия Flutter Мобильные игры Инди игра Видеоигра Видео Gamedev Инди
2
1
KonungzRage
KonungzRage
3 года назад
Лига Геймеров

[Devblog Make World] Обновление цвета тайлов (опрос)⁠⁠

Новые цвета:

[Devblog Make World] Обновление цвета тайлов (опрос) Игры, Пошаговая стратегия, Стратегия, Flutter, Мобильные игры, Инди игра, Видеоигра, Видео, Gamedev, Инди

Старые цвета:

[Devblog Make World] Обновление цвета тайлов (опрос) Игры, Пошаговая стратегия, Стратегия, Flutter, Мобильные игры, Инди игра, Видеоигра, Видео, Gamedev, Инди

Какие больше нравятся вам?

discord community: https://discord.gg/gAgTQNZPVh

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