Что такое Flutter? Это бесплатный и открытый фреймворк для разработки кроссплатформенных приложений (iOS и Android). Flutter был создан и выпущен компанией Google в мае 2017 года и за это время успел обогнать по популярности React Native как на GitHub, так и на Stack Overflow.
В статье разберемся, чем так интересен этот фреймворк и к чему нужно быть готовым при его изучении.
Василий, mobile-разработчик:
В чем особенность работы с Flutter?
Главная особенность в работе с кроссплатформенным движком – это использование одной кодовой базы на языке Dart вместо нескольких для Android и iOS платформ. В работе можно использовать среды разработки Android Studio, Intellij IDEA и VSCode, но, увы, нельзя будет воспользоваться Xcode.
Для запуска первого приложения на Flutter вам нужно только установить плагины Flutter и Dart, а среда разработки сама предложит создать шаблонный проект. Теперь можно писать свое бизнес-приложение :)
Какие плюсы?
К плюсам флаттера я бы отнес высокую производительность сборок – тесты показывают результаты почти на уровне стандартных решений, простой и лаконичный язык программирования Dart, а также быструю компиляцию и сборку проекта, которая позволяет избавиться от лишнего пустого ожидания. Есть даже механизм горячей перезагрузки, который позволяет моментально пересобрать проект и увидеть результаты своего труда.
Также плюсом является большой набор UI-компонентов и библиотек как родных, так и от сторонних разработчиков, которыми можно воспользоваться, не прилагая больших усилий. Несложно будет разобраться в фреймворке, так как у него уже есть удобная документация, а сам Google делится обучающими видео, где наглядно раскрывает преимущества компонентов.
Какие минусы?
Один из явных минусов в том, что сборка приложения для iOS, запуск симулятора и запуск на реальный iPhone невозможен без XCode, а XCode не работает на Windows и Linux-машинах. Для решения проблемы нужно иметь XCode, плагин на Android Studio сам подцепит симулятор и реальный девайс.
Другой минус в том, что увеличивается итоговый размер установочного пакета, потому что в нем содержится виртуальная машина Dart.
Также могут возникнуть сложности при добавлении нестандартного функционала связанного с системными датчиками, встроенным браузером, сторонними GPS картами и так далее. Для таких задач есть два пути: либо искать готовое решение или библиотеку от сторонних разработчиков, либо написать свое нативное решение отдельно для каждой платформы. Второе будет сложнее и дольше, так как придется писать как минимум на трех языках, развивать структуру и отлаживать.
Flutter – это будущее в разработке?
Не могу прогнозировать, как будет развиваться флаттер спустя полгода или год, но уже сейчас видно, что фреймворк набирает обороты и становится популярным. Простота освоения, отличный дизайн, поддержка Google добавляет уверенности столь стремительному росту. Так что в ближайшее время развитие будет.
Татьяна, mobile-разработчик:
В чем особенность работы?
Особенность Flutter в том, что c помощью него вы можете делать кроссплатформенные проекты – сразу и под iOS, и под Android.
При этом нужен компьютер с хорошими вычислительными мощностями: в таком случае вы сможете комфортно разрабатывать и запускать крутые проекты.
Какие плюсы?
Большим плюсом является наличие обширной документации и комьюнити, которое стремительно развивается. Сам Google активно продвигает Flutter, записывает обучающие видео и выкладывает их на своем канале. Есть огромное количество библиотек, которые облегчают жизнь, а на Stack Overflow можно найти ответы практически на все вопросы.
После разработки нативных приложений перестроиться очень легко – этот процесс занял у меня примерно 2 недели. К тому, что «все есть виджет», привыкаешь настолько, что уже не знаешь, как раньше работал – чувствуется некая «свобода» во всем, нет рамок, нет ограничений. За 2 месяца я забыла, как нативно делать те вещи, которые так удобно реализуются на Flutter.
Какие минусы?
Я могу выделить два основных минуса при работе с фреймворком.
Во-первых, нужно обладать начальными навыками разработки мобильных приложений. С нуля будет трудно понять, что к чему, даже с учетом богатой документации. Потребуется время, чтобы привыкнуть к новым правилам игры и разобраться во всех деталях.
Во-вторых, увидеть результат работы можно, только запустив приложение, так как верстка экранов создается с помощью кода. Поначалу было трудно предвидеть, как расположатся виджеты, часто не угадывала, и всё «вылезало» за пределы экрана. Но чем дальше, тем лучше – сейчас всё сразу получается так, как задумывала.
Перспективы
Я считаю, что у Flutter большие перспективы, ведь развитие фреймворка идет полным ходом. Многие о нем уже что-то слышали, кто-то попробовал создать простое приложение или уже занимался коммерческой разработкой. Разработчикам интересно работать с фреймворком. На мой взгляд, Flutter займет свою нишу и приобретет свою аудиторию.
В итоге, что представляет из себя фреймворк?
Особенность Flutter в том, что он позволяет делать кроссплатформенные проекты, то есть разрабатывать приложение сразу и под iOS, и под Android, а вместо нескольких кодовых баз использовать одну – язык Dart.
К плюсам Flutter можно отнести высокую производительность сборок, простой и лаконичный язык, быструю компиляция и сборку проекта, большой набор UI-компонентов и библиотек, удобную документацию, а также быструю адаптацию к принципу «все есть виджет».
Основные минусы в том, что сборка приложения для iOS невозможна без XCode, который не работает на Windows и Linux машинах; увеличение итогового размера установочного пакета из-за виртуальной машины Dart; верстка экранов создается с помощью кода, поэтому увидеть результат можно только при запуске приложения.
Про дальнейшее развитие фреймворка: разработчики сходятся во мнении, что оно будет. Фреймворк интересен программистам, поэтому он определенно найдет своих фанатов.
статьи по теме
-
ЧитатьБрокеры сообщений — что это, из чего состоят, плюсы и минусы: сравниваем Apache Kafka, Redis и RabbitMQ02.08.2023
-
ЧитатьGit: гайд для начинающих21.10.2022
-
ЧитатьС чего начать путь iOS-разработчику22.04.2022
-
СмотретьAI-технологии: создаем мобильное приложение под iOS с функцией распознавания речиЛайвкодинг мастер-класс совместно с Skillbox26.02.2022
-
ЧитатьПаттерны проектирования: для чего нужны, какими бывают и чем отличаются от архитектурных25.10.2021
-
ЧитатьС чего начать путь в ИТ: Android-разработчик18.06.2021