18 юни 2019 г. 6 минути четене

През последните седмици говорихме за React, Flutter и характеристиките, които правят тези две рамки основни инструменти във вашия набор от инструменти за разработване на съвременни уеб приложения и мобилни приложения.

flutter

Сигурен съм, че вече сте избрали един от двата варианта за вашите проекти, но днес ми е интересно да изложим разликите им на масата и да ви помогна при решението ви за разработване на мобилни приложения, ако все още имате съмнения.

Преди да продължите, препоръчвам ви да прочетете следните статии:

Както казахме по-рано, React Native и Flutter са две от основните рамки за развитие на приложения с различни платформи. Ето защо сравняването на системата Facebook с тази на Google е добра идея, тъй като ви позволява да решите и да определите кое от двете е по-добро за разработването на новото ви приложение.

Трептене

Една от най-страхотните характеристики на Flutter е неговата реактивна парадигма. За да се справи с проблеми, свързани с асинхронни данни - проблеми, много познати на разработчиците на JavaScript - Flutter наследява реактивно програмиране от Dart. Ще говорим за това в следващите сесии, но е много мощен при разработването на приложения, например за справяне с нулеви препратки.

Както видяхме в статията на Серджо, Flutter има „приспособление“ като основен камък, докато React Native използва компоненти. Интересното при джаджите на Flutter е, че повечето от тях вече са подготвени за използване с концепции за „материален дизайн“. Приспособленията също могат да бъдат или както в React.

Първите стъпки с Flutter са сравнително лесни, тъй като просто трябва да го изтеглите, да създадете среда и да започнете да се развивате. Разбира се, много е възможно да трябва да инсталирате и Android Studio. Flutter също поддържа IntelliJ Idea и Visual Studio Code.

Като цяло Flutter изисква повече време за разработка от React Native и благодарение на Hot Reload ще можете да стартирате приложението си отново, когато правите промени.

React Native

React Native има като важна характеристика факта, че е валидиран от Facebook приложения или Airbnb, използвани глобално.

Неговите специфични компоненти за разработване на мобилни приложения се различават от уеб и React компонентите. Освен това React Native използва виртуален DOM за комуникация с естествени елементи на потребителския интерфейс.

Някои компоненти на React Native се наричат ​​адаптивни, тъй като те могат да разберат на коя платформа - iOS или Android - работят.

Точно както при Flutter, започването с React Native е доста лесно и също така е въпрос на инсталиране на подходящ пакет и започване на разработването. Ако вашите разработчици вече знаят JavaScript и React, страхотно!

По отношение на времето за разработка React Native е много ефективен и благодарение на готовите за използване компоненти процесът на разработка на PMV е прост и бърз.

Мисля, че една от основните характеристики, които не позволяват приемането на рамка от разработчиците, е липсата на документация или липсата на добра документация.

Трептене

Flutter разполага с полезна, организирана и много пълна документация. Ако влезете в официалния уебсайт на Flutter, ще видите как се грижи за тази подробност. Не само ще можете да намерите очакваните примерни кодове и препратки към API, но и Google е включил видеоклипове, където те учат как да научите за инструментариума.

React Native

Високото приемане на React Native - дори и да няма видеоклипове - също е свързано с неговата добра документация, много поучително, но не винаги добре организирано. На официалния уебсайт на React Native е възможно да се научите как да използвате рамката, използвайки React Native CLI и преди всичко Expo cli, библиотека, която предоставя голямо разнообразие от собствени API, базирани на iOS и Android и, които също ви позволява да стартирате приложението, което разработвате на вашето мобилно устройство, като прочетете QR код.

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

Трептене

Благодарение на Dart, приложенията на Flutter се компилират с помощта на собствени библиотеки C/C ++. Това ви позволява да бъдете по-близо до машинния език и да постигнете по-добра производителност, тъй като е по-близо до родните приложения.

React Native

React Native се класира по-добре на ниво производителност от конкуренцията си - Cordova или Ionic, тъй като успя да стартира своя JavaScript в отделна нишка, както и усложнява своите UI компоненти в родните им еквиваленти. И все пак той използва мост за комуникация и изпълнение на действия в родните модули.

Трептене

Flutter се появи на пазара по-късно, но неговите над 7500 вилици, над 65 000 звезди на Github и повече от 1400 пакета, налични в хранилището на Dart, са само някои от показателите, които показват, че ангажира общността и расте. интересен ритъм.

React Native

React Native е на пазара от много по-дълго време и това показва, както видяхме в статията за React. Благодарение на приемането на React, организации, разработчици и доставчици допринесоха за развитието на инструмента. По този начин е естествено да имате на разположение много повече пакети от Flutter със същата цел да подобрите производителността. Освен това, тъй като е по-зряла рамка, тя е и по-стабилна от Flutter.

В допълнение към различните общности, които дават живот и на двете рамки, големите организации също ги използват. Докато React е сигурност на пазара, Flutter все още се бори да бъде забелязан. Това са някои от примери за продукти, използвани от всяка от рамките:

В допълнение към различните общности, които дават живот и на двете рамки, големите организации също ги използват. Докато React е сигурност на пазара, Flutter все още се бори да бъде забелязан. Това са някои от примери за продукти, използвани от всяка от рамките:

Трептене

React Native

Както видяхме, различните проекти изискват различни технологични решения. Ако имате екип разработчици както за рамки, така и за езици, може да е добра идея да проучите жизнеспособността на всеки от тях. И двете рамки предлагат стабилност, производителност, добра документация и активна общност.

Ето защо не е лесно да се вземе решение. От моя лична гледна точка, React Native, за по-дълъг живот на пазара и за по-стабилни продукти, които познаваме, има предимство днес. Освен това React Native е разработен на езика на момента.

В същото време мисля, че специфичните характеристики на Flutter и Dart могат да бъдат важни, особено ако искате приложението ви да предостави на вашите потребители възможно най-естествено изживяване. Въпреки това, Flutter все още трябва да извърви дълъг път, но има много потенциал за постигане на целите си.

Използвате ли React Native или Flutter във вашите проекти? Как беше преживяването?