2 април, 2020

Flutter е тренд, но дали е достигнал до България отговаря Томи Младенов. Той е Solutions Architect в Tide. Той е част от няколко проекта, свързани с Mobile, Web и други. Започва да се интересува от Flutter преди година и половина.

Как започна да се занимаваш с Flutter?
Започнах да се интересувам от Flutter от преди година и половина. Не съм сигурен как точно разбрах за Flutter и как започнах да експериментирам с него. Но мисля, че беше породено от факта, че работих дълго време с React Native. И след като разбрах, че има някаква алтернатива бяха доста хайпнат и реших да го пробвам. Тогава разбрах, че съм живял в заблуда, че React Native е добра технология. Промених си мнението и го казвам като човек, който е правил лекции за React Native и е повтарял навсякъде колко е полезен. Вече не го правя, откакто ползвам Flutter.

На какво се дължи този тренд, че Dart и Flutter да бъдат толкова харесвани?
Лично на мен ми харесва това, че има екосистема, която можеш просто да свалиш и да започне да работи out of the box. С React Native беше напред-назад – кое работи и кое не работи. Докато дивелъпваш използваш една JavaScript версия, а когато диплойнеш използваш друга. Много други неща има, които няма откъде да разбереш, защото Facebook, дори не си бяха направили труда да си напишат документацията. Всички се базикаме, че без Stack Overflow не можем да програмираме, но за React Native, ако нямаше Stack Overflow, нямаше да можем да подкараме „Hello World“.

Най-големият плюс на Flutter e, че когато свалиш SDK и всичко започва да работи. В началото липсваше документация за някои неща и нямаше проекти, но беше лесно да се започне. На уъркшопите, които съм правил за Flutter, виждам, че хората просто се справят. Винаги има някой, на който му е трудно и примерно не знаят хората, че ако са на Windows, не могат да компилират за iOS. Ако не са се занимавали с това и им идва като гръм от ясно небе. Но за хора, които са малко по-напреднали, просто свалят SDK и започва да работи. Свалят си Android Studio или Visual Studio Code и всичко работи – дебъгингът работи, рефрешът работи, лайфрилоудът зарежда незабавно. Това са неща, които докато експериментираш и докато си бос в технологията са фундаментални. Защото React Native, например, пишеш нещо и когато рефрешнеш трябва да билдваш наново. Докато при Flutter, всичко е почти незабавно. Това е нещото, което ми хареса и което не ме отказа. Точно защото върви много бързо и реших да се поровя повече за него.

Забелязал ли си някакви минуси в актуалната версия?
Има неща, които са по-нишови и не работят. Когато правих уъркшоп за Flutter на миналия DevFest, доста време ми отне да подкарам едно приложение с out of the box on device machine learning. Не трябва да обучаваш модели в клауда, а си работи директно. Но докато не го тествах на друг телефон и камерата не работи. Проучих случая и разбрах, че изобщо камерата във Flutter си е доста бъгава. Докато си снимаш и не можеш да си пуснеш светкавицата. Тогава за първи път реших да допиша кода и да допринеса за общността. Дописах кода и пуснах pull requests, но екипът на Flutter са решили да си направят собствен плъгин. Не е пуснат новият плъгин, нито моето предложението, защото никой не се интересува от старата камера. Доста компании се оплакват от подобни нишови проблеми. Но сигурно минават към React или React Native.

Първоначално си търсил много информация за Dart. Учи ли се лесно?
Зависи от какъв бекграунд идваш. Ако идваш от Python няма да е лесно, но ако ползваш Dart за Flutter. Това играе важна роля дали си практикувал някакъв Mobile Development. Ако си бил Data Scientist, ще ти е трудно, защото ако минеш на Dart, за да си пишеш само ML нещата, няма смисъл. Но ако идваш от TypeScript, Dart ще ти е супер лесен. Ако си писал React само с JavaScript без Flow и никакво типизиране, ще ти е трудно. Дори ако сега навлизаш в програмирането и не си минал през обектно-ориентирано програмиране, ще ти е тежко. За мен най-важно е да има документация. Dart и Flutter имат доста добра документация, имат примери, има илюстрации. Google наливат много пари да се правят code labs, тренинги и лекции по конференции. Досега не съм се сблъсквал с нещо, което искам да направя и езикът не го поддържа.

Говорил ли си с програмисти от България? Как се приема на Flutter и Dart в страната?
Мисля, че са доста малко. Според мен хайпът в България си е React и React Native. Това е така, защото преди мобилната разработка си е Android и iOS, а преди Cordova и Ionic, PhoneGap, Xamarin. Аз не познавам някой, който би казал, че Xamarin натрупа много популярност и много хора го ползват. Но много стартъпи, компании и хора въобще, когато излязоха React и React Native всеки направи всичко възможно, което може да направи с тези технологии. Flutter доста се забави, а компаниите в момента си казват, че преди 2 години да се научили да програмират на React и няма как да пренаписват всичко на Flutter. На хората им се вижда много апетитно да има coder usability между Web и Mobile при React Native. Но според мен е твърде малко.

Забелязал ли си, че през не толкова далечния август, направихме едно интервю с гръцката юзър група за Flutter? Каква е обстановката в другите държави? Запознат ли си?
Друга държава или по-точно общност, която инвестира в Dart и Flutter, е Германия. Съдя по това, че имам много предложения за работа от всякакви малки и големи компании. Стартъп хъбовете в Берлин и Мюнхен правят доста Flutter приложения. За други държави не знам, но в момента в България почти няма Flutter/Dart общност. Просто са незначително малко.

Какво ще е бъдещето на Dart и Flutter? Къде ще се използват най-много?
Бъдещето ще е голямо и много дългосрочно. Причина за това е, че Google налива много в Dart и Flutter. Само като се замислиш, че много компании използват Dart и Flutter, като например, Alibaba, BMW, ключови продукти на Google като мобилното приложение на Google Ads и др. Има проект „Fuchsia“ с по-таен дивелъпмънт, за който си мисля, че много хора не са чували. Това ще е операционна система алтернатива на Android, но е предназначена да работи на всякакви IoT устройства. Може да върви на хладилник, часовник или телефон.

Когато си поиграх си малко със сорс кода и видях, че на доста места е пригодено за Flutter и Dart. Всички тези устройства няма как да ги форкнеш, нямат USB и ще съпортват out of the box Flutter. Google залага много на тази платформа, която не е само за мобилни устройства, но работи и за уеб, че вече са твърде напред и работи добре. Няма как да кажат, че спират бюджета на Flutter, няма да излизат нови фийчъри и дебрикейтваме всичко. Няма да го кажат, защото Flutter няма алтернатива от гледна точка на какви устройства може да върви и каква производителност предлага. React Native също върви на много устройства, но там производителността ще е друга. Начинът, по който се използват UI за Flutter, няма конкуренция, според мен.

 

Интервюто проведе Атанас Нейчев

Тагове: , , , , , , , , , ,