Привет, Хабр! Представляю вашему вниманию перевод статьи: "What is Flutter and Why You Should Learn It in 2020" автора Gael Thomas.


Что такое Flutter?


Flutter — бесплатный и открытый набор средств разработки мобильного пользовательского интерфейса, созданный компанией Google и выпущенный в мае 2017 года. Проще говоря, с помощью Flutter возможно создать собственное мобильное приложение с одним массивом кода. Это означает, что для создания двух приложений (IOS и Android) можно использовать единый язык программирования и одну базу кода.


Flutter нацелен на две важные вещи:


  • SDK (Software Development Kit): набор инструментов, который поможет вам в разработке приложений. Он включает инструменты для компиляции кода в нативном машинном коде (код для IOS и Android).
  • Framework (Библиотека пользовательского интерфейса на основе виджетов): Коллекция функциональных элементов пользовательского интерфейса (кнопок, текстовых вводов, ползунков и т.д.), которые можно персонализировать под личные предпочтения.

Для разработки с Flutter используется язык программирования под названием Dart. Это также язык Google, созданный в октябре 2011 года, но значительно улучшившийся в последние годы.


Dart фокусируется на развитии вёрстки веб-страниц; его можно с легкостью использовать для создания мобильных и веб-приложений.


Зачем тебе учиться Flutter ?


Я приведу пару причин, почему мне нравится Flutter и я предпочту использовать его в следующем году.


image


Компании пользующиеся Flutter


Простое обучение и развитие


Flutter — современная платформа! С его помощью намного легче создавать мобильные приложения. Если вы пользовались Java, Swift или React Native, то знайте: Flutter представляет собой немного другое.


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


Что мне нравится во Flutter? Так это то, что можно написать нативное приложение без кучи кода.


Быстрая компиляция: максимум производительности


Благодаря Flutter, вы можете изменять свой код и видеть результаты в реальном времени. Это называется Hot-Reload. Для обновления самого приложения требуется совсем немного времени. Некоторые значительные модификации могут перезагрузить приложение, но если вы работаете, как дизайнер, например, изменяете размер элементов, то это возможно просто в режиме Hot-Reload!


image


Идеально подходит для запуска MVP (Минимально жизнеспособный продукт)


Если вам нужно представить свой продукт инвесторам как можно скорее, вы можете использовать Flutter!


4 основные причины использовать Flutter для вашего MVP:


  • Разработать мобильное приложение с Flutter дешевле, потому что не нужно создавать и — поддерживать два мобильных приложения (одно для IOS и Android).
  • Для создания MVP достаточно одного разработчика.
  • Это эффективно; невозможно заметить разницу между нативным приложением и приложением Flutter.
  • Это красиво; Вы можете легко использовать виджеты, предоставляемые Flutter, и персонализировать их для создания оригинального пользовательского интерфейса для ваших клиентов.

Растущее сообщество


У Flutter классное, мощное сообщество, и это только начало!


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


Когда я начал использовать Flutter, первое, к чему я приступил, искал сообщества, и был удивлен… Существует просто огромное количество ресурсов для обмена опытом и общения!


Поддержка Android Studio и VS Code


Flutter доступен в различных IDE. Два основных редактора кода и разработки с помощью этой технологией — Android Studio (IntelliJ) и VS Code.


Android Studio — это полноценное программное обеспечение, где все нужное уже интегрировано; для запуска необходимо загрузить плагины Flutter и Dart.


VS Code — простой инструмент, все конфигурируется через плагины с маркетплейса.


Я использую Android Studio, потому что мне не нужно настраивать много параметров для работы.


Но вы можете выбрать предпочтительную вам среду IDE!


Фриланс


Если вы хотите начать с фриланса, вам стоит задуматься о Flutter!


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


Крупнейшая во Франции платформа для фрилансеров под названием Malt недавно опубликовала технологические тенденции этого года. Flutter возрос на 303% на этой платформе в период с 2018 по 2019 год.


image


Статистика Flutter — Malt


Заключение


Надеюсь, что это введение в технологию вас заинтересовало и мотивировало. Что вы думаете о Flutter? Захотели попробовать его в следующем году?

Комментарии (11)


  1. MaZaAa
    20.12.2019 16:31
    +1

    React Native уже не канает да?)


    1. nochkin
      20.12.2019 19:17

      Так и в статье не написано, что Flutter является единственной универсальной средой. У каждого свои преимущества и недостатки.


  1. vds64_max
    20.12.2019 20:28
    +1

    У Флатера упор на анимации, у React Native тоже есть анимация но у флатера она гораздо удобнее, там больше возможностей и делается она проще. Но «паровозный» код флаттера мне лично не нравится и хуже читается чем у RN.


    1. MaZaAa
      20.12.2019 22:03
      +1

      Намного хуже я бы сказал, а то сильно веская причина в пользу RN


    1. Safort
      22.12.2019 20:59

      Что значит «паровозный» код?


      1. MaZaAa
        22.12.2019 21:11

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


    1. navrocky
      22.12.2019 22:59

      Паровозный код можно писать на всех языках. На Flutter можно писать нормально.


  1. Yuribtr
    22.12.2019 19:55

    Красиво так написано, прямо “silver bullet”, а вот про минусы Flutter автор исходной статьи не удосужился сообщить (((


    1. navrocky
      22.12.2019 23:01

      Какие, на ваш взгляд, минусы?


      1. Yuribtr
        23.12.2019 07:47

        Я не знаком с Flutter, так как разрабатывал на Java. Вот и хотел примериться к новой технологии. Но судя по всему статья однобокая и поверхностная. Например ничего не говориться про то как Flutter обрабатывает жизненный цикл (поворот экрана, уход в спящий режим). Очевидно что любая программная прослойка будет жрать ресурсы. Только понять где Flutter стоит — над Java или вместо Java (в Андроиде)?


        1. rogrom
          23.12.2019 23:19

          есть отличный доклад Артура Василова на эту тему