portaldacalheta.pt
  • Legfontosabb
  • A Munka Jövője
  • Mérnöki Menedzsment
  • Innováció
  • Mobil
Mobil

Hibrid teljesítmény: csapkodási előnyök és előnyök



A Flutter egy hibrid mobilalkalmazás-fejlesztési platform a Google-tól, amely 2018 végén elérte az 1.0-at. Bár a hibrid fejlesztési keretrendszerek listáján újonnan belépő, a mögötte álló nagyszerű ötletek miatt a fejlesztők gyorsan elkapkodták.

webalkalmazás biztonsági problémák és megoldások

Ebben a cikkben az a célom, hogy feltárjam ezeket az ötleteket és megírjam a Flutterrel kapcsolatos tapasztalataimat, és azt, hogy miért érzem a hibrid mobilalkalmazások fejlesztésének jövőjét.



Annak ellenére, hogy vannak régebbi hibrid alkalmazás-keretrendszerek a piacon, egyre több a nagy nevű vállalat, amely a Fluttert választja a mobilalkalmazásaihoz. Amíg a Lebegő kirakatoldal ezek közül sokat felsorol, íme néhány figyelemre méltó alkalmazás, amely a Fluttert használja az egész alkalmazáshoz vagy egy jelentős szolgáltatáshoz:



  • A Google Ads alkalmazás
  • A GrabFood GrabMerchant alkalmazása
  • Az Alibaba Group Xianyu alkalmazása, amely több mint 50 millió letöltéssel rendelkezik
  • Nubank
  • Az eBay Motors alkalmazás

Bár a Flutter keretrendszer meglehetősen képes, még mindig viszonylag új. Az egyensúly kedvéért megvitatok néhány korlátozást is, amelyekkel tisztában kell lennie, mielőtt elkötelezi magát a Flutter mellett.



Remélem, hogy a cikk elolvasása után jól megismerheti a Flutter előnyeit és hátrányait, és elegendő információval rendelkezik ahhoz, hogy eldöntse, a következő mobilalkalmazás-projektben érdemes-e használni a Fluttert.

Hebegés előnyei (fejlesztési szempontból)

Fejlesztőként ez az a nézőpont, amelyet a legjobban ismerek és a legtöbb információt meg tudom osztani.



Gyors tanulási görbe

Az első kellemes meglepetés, amelyet a Flutter a fejlesztők számára okoz, az, hogy milyen gyorsan kell elindulnia. A befejezés kevesebb, mint 30 percet vesz igénybe a telepítési folyamat és működő fejlesztői környezetet kell kialakítani. Innentől kezdve minden készen áll hozza létre az első Flutter alkalmazást .

Népszerű szerkesztőintegráció

A Flutter remek szerkesztőintegrációval is rendelkezik. Én személy szerint az Android Stúdiót használom, de vannak ilyenek rendelkezésre álló utasításokat az IntelliJ, a VSCode vagy az Emacs beállításához.



Tiszta fejlesztési folyamat

A hibrid alkalmazáskeretekkel kapcsolatos korábbi tapasztalataimhoz képest a fejlesztési folyamat is érezhető tisztító . Például, amikor a WebViews segítségével sok elemű listákat jelenítettem meg (kb. 100 körül), nagy CPU-használatsal kellett megküzdenem, különösen akkor, amikor a felhasználó görgette a listát. Megoldottam ezeket a használatával Ionikus keretelemek kifejezetten erre készült. A Flutterben a listák megjelenítésének egy elfogadott módja van, a ListView, amely csodálatos teljesítményt nyújt a dobozon kívül.

Élő újratöltés

Egy másik dolog, ami kellemesen meglepett, az az élő újratöltési funkció. Full-stack fejlesztőként olyan rendszerekhez voltam szokva, mint a BrowserWatch, amely élő újratöltést biztosít a böngészőben.



A natív fejlesztés nem rendelkezik ezzel (de azt gondolom, hogy az Apple SwiftUI ezen a fronton némi előrelépést jelent az iOS fejlesztéshez). Az Android és iOS fejlesztőknek általában meg kell írniuk a kódot, majd meg kell várniuk, amíg összeáll és betölti őket az eszközre vagy a szimulátorra, mielőtt láthatják a változásokat.

A Flutter (a la React Native) egy élő újratöltési mechanizmust biztosít, ahol az alkalmazás kódja újratöltődik az eszközre, amint a fejlesztők elérik a „mentés” gombot. Ez azonnali visszajelzést ad, ami sokkal gyorsabbá teszi a fejlesztést.



Teljesítmény

Az alkalmazás teljesítménye egy másik mutató, ahol a Flutter lassan van győztesként feltűnő .

Mivel a Flutter keretrendszer aktív fejlesztés alatt áll, sok helyen lehet optimalizálni a teljesítményt. Ez nyilvánvaló például a Flutter 1.17-ben, amely az új iOS-eszközökön akár 50% -kal növelte a megjelenítési teljesítményt, és bizonyos típusú terheléseknél akár 70% -kal is csökkentette a memóriafelhasználást.



Platformok közötti konzisztencia

A Flutter másik figyelemre méltó tulajdonsága, hogy mindkét mobilplatformon valóban konzisztens felhasználói felület található. Mivel a Flutter a saját renderelő motorját használja - erről bővebben később - a felhasználói felület az pontosan ugyanez az iOS-n és az Androidon is. A fejlesztőknek már nem kell a platform-specifikus stílusproblémákkal foglalkozniuk, hogy minden pontosan úgy nézzen ki, mint a design: Ez a garancia a keret része.

Nyelv, szerszámok és kiterjesztés

Három másik kisebb, de mégis fontos szempontot érdemes itt megemlíteni:

  • Dárda , a nyelvet, amelyen a Flutter alkalmazásokat programozzák, nagyon egyszerűen el lehet kezdeni. De az is elég erős nyelv , amelyet eredetileg a Google szánt a JavaScript helyettesítésére. Ha a fejlesztőknek van tapasztalatuk a JavaScript-ről vagy más C-szerű nyelvekről, akkor nem okoz gondot egy-két napon belül a Dart felvétele.
  • Van egy robusztus plugin-kezelő (kocsma), amely az alapértelmezett eszközláncban található, és a pluginok hatalmas gyűjteménye érhető el pub.dev bővítménytár.
  • Bővítmények létrehozása a natív platform képességeinek kihasználása meglehetősen egyszerű, így ha a fejlesztőknek hozzáférniük kell egy olyan platformfunkcióhoz, amelyhez még nincs beépülő modul, akkor az egyik kódolása nem túl nehéz.

Hebegés előnyei (üzleti szempontból)

A legnagyobb flutter előny, amelyre a legtöbb vállalkozás gondol csak egy csapatot kell felvenni mind az iOS, mind az Android platformra. Fontosabb előny azonban, amelyet sok vállalkozás figyelmen kívül hagy gyorsabb piacra kerülési idő . Az előző szakaszban szereplő fejlesztési előnyöket kihasználva egy kisebb fejlesztőcsapat gyönyörű, natív teljesítménnyel rendelkező alkalmazást készíthet, amely a Flutter segítségével sokkal gyorsabban biztosítja ugyanazt a felhasználói élményt mindkét platformon.

A Flutter lehetővé teszi a fejlesztők számára, hogy valóban felépítsenek néhányat gyönyörű felhasználói felületek . Vessünk egy pillantást egy közelmúltbeli kihívás a Google-tól és a Lenovótól, hogy egy gyönyörű óraszámú felhasználói felületet készítsen a Lenovo Smart Clock számára. A győztes, Részecske óra Mickel Andersson nem csak egyedülállóan elegáns - hanem bemutatja is hogy a performáns animációk mennyire vannak Flutterben.

A Fluttert fontolgató vállalkozások számára, de nem biztos abban, hogy ez a helyes út, a Flutter fokozatosan kihasználható: A meglévő mobilalkalmazások egyszerre egyetlen alkatrészt integrálhatnak a Flutterbe. Valójában a legtöbb nagyvállalat így kezdi a Flutter-t azzal, hogy meglévő alkalmazásának egy kis részét beépíti a Flutterbe, majd lassan lecseréli a többi alkatrészt, amint meglátják az előnyeit.

Megfontolandó korlátozások a csapkodás használata előtt

Igazság szerint Flutter, mivel újabb, nem az egészen ugyanolyan csatában tesztelt, mint más hibrid mobilalkalmazás-keretrendszerek, például a React Native - végül is a React Native végfelhasználói elérése a Facebook, az Instagram, a Skype és a Discord mobilalkalmazásait fedi le.

Az alapértelmezett válasz: „Használjam-e a Fluttert?” egyelőre a óvatos igen . Ennek oka, hogy a projektmenedzsereknek még mindig mérlegelniük kell, hogy melyik speciális funkcióra lesz szükségük, és ha van ilyen győződjön meg arról, hogy ezek a funkciók elérhetőek a Flutterben mielőtt elkötelezi magát a használata mellett. Különösen érdemes megkérdezni, hogy egy csapatnak mely könyvtárakra és beépülő modulokra lehet szüksége egy adott alkalmazás felépítéséhez. A Flutter, mint újabb bejegyzés a mobilalkalmazás-keretrendszerben, nem rendelkezik olyan kiterjedt könyvtárakkal és bővítményekkel, mint a React Native.

Például a Flutter kameratámogatása még nem fejeződött be, a zoomolás és a vakuvezérlés még nem része a hivatalos kamera beépülő modulnak. Számomra ez nem volt üzletkötő, mivel sikerült megtalálni egy harmadik féltől származó plugint, amikor integrálnom kellett a fotó / videó funkciókat egy általam épített alkalmazásba.

Egy másik fontos bővítmény, amelyet hiányolhat, a Google Maps. Nincsenek a Dart-ban honos Google Maps beépülő modulok, és vannak ilyenek is csatlakoztat hogy lehetővé tegye a Google Maps integrálását a Flutter kódjába, a Flutter olyan funkcióit használja (platform nézetek), amelyek még a fejlesztők előnézeti állapotában vannak.

Még egy dolog, amely sok projektet nem érint, de tudnia kell, hogy a Flutter egyelőre nem támogat 3D-s képességeket. A csapat egyelőre csak a 2D-re koncentrál. De a legtöbb alkalmazás nem használ semmilyen 3D-s funkciót, ezért ez nem lehet üzletkötő a fejlesztők többségének.

Néhány tanács a csapkodással kapcsolatos tapasztalataimból

Az elmúlt két évben három Flutter alkalmazást kiadtam, és számos dolgot megtanultam, bár azt szeretném, ha elmondtam volna nekem, amikor elindultam. Ide sorolom őket abban a reményben, hogy segítenek a Flutter fejlesztési útjában.

A rebbenés az nagyon könnyű elkezdeni. Egy csodálatos tanfolyammal kezdtem App Sörfőzde . Az első modulok befejezése után azonban úgy gondoltam, hogy már elég megtanultam, és elkezdtem építeni az első általam elindított alkalmazást.

Türelmetlenségem miatt számos modult kihagytam azon a tanfolyamon, amely fontosnak bizonyult, és ezeknek a moduloknak a tanulságait keményen kellett megtanulnom, hibázva. Pontosabban, sokkal jobb munkát végeztem volna az első használatkor Hebegés az alkalmazás fejlesztéséhez ha megtanultam volna néhány Flutter legjobb gyakorlatot:

  • Hogyan modulálhatom és strukturálhatom a Flutter alkalmazáskódomat.
  • Hogyan működik az államigazgatás.
  • A felhasználók hitelesítésének és a hitelesítés állapotának nyomon követése a Flutter alkalmazás különböző oldalain.
  • Hogyan lehet integrálni az értesítéseket a Firebase Messaging csomag.

Végül megtanultam ezeket a dolgokat, de előbb sok hibát kellett elkövetnem. Átírtam az első általam készített alkalmazás jelentős részeit. A második Flutter alkalmazásommal azonban tanultam a hibáimból, és végül jobb és gyorsabb munkát végeztem.

Számos erőforrás található meg könnyen, ha a Google-on keres, hogy megismerje a fent felsorolt ​​fogalmakat. Kezdheti azzal, hogy megnézi a Tudj meg többet oldal a Flutter oldalon.

Egy másik dolog, amit találtam, hogy az új Flutter újdonságai miatt nincs egyetlen minta az alkalmazás strukturálására. A többnyire Django-alapú fejlesztői karrierből származom, és tudom, hogy az MVC a Django-alkalmazásokban használt minta. Az iOS-nek az MVVM mintájában is egyértelmű nyertese van, amelyet követ. Az Android rendelkezik az irányelvek legjobb tervezésével kapcsolatos irányelvekkel.

A Flutternek nincs olyan építészeti mintája, amely „megnyerte” a sok lehetőséget. Ez kezdetben nehéz időket adott nekem. Végül számos Flutter-alkalmazás kifejlesztése szerintem a legjobb, ha egyszerűen választunk egy architektúrát, és ragaszkodunk hozzá.

Én személy szerint használom a provider csomag függőségi injekcióként és változáskezelési keretrendszerként egyaránt. A Flutter alkalmazásaim szintén nagyjából három vonalra oszlanak:

  1. Nézetek , amelyek az alkalmazást felépítő widgetek, beleértve a képernyőket is. Szolgáltatásokat és modelleket injektálok a Consumer segítségével modult a Provider csomagot a nézeteimbe, hogy a rendelkezésre álló adatok alapján felépíthessem a felhasználói felületet. A Consumer A widget az állapotváltozáskor is újjáépíti a nézetet, így reagálnak az alkalmazásaim az állapotváltozásokra.
  2. Modellek , amelyek sima régi objektumok, amelyeket strukturált adatok tárolására használok.
  3. Szolgáltatások / vezérlők , ahol az üzleti logika nagy része megy. Az API interfészek is ide vannak kódolva, amelyek lekérhetik és elküldhetik az adatokat az API-nak. Ezek az API-interfészek modelleket kínálnak és fogadnak el az adatok továbbítására.

Az tömb könyvtár érdemes a provider alternatívájaként is figyelembe venni csomag. Kicsit más architektúrával rendelkezik, és események és állapotok folyamát használja a nézetek és modellek összekapcsolására.

Összefüggő: Hogyan lehet kihasználni a BLoC-t a kódmegosztáshoz a csapkodásban és az AngularDart-ban

Ez kissé összetettebb módja az állam kezelésének, mint a provider használata könyvtár, de kifizetődő, ha van egy összetett alkalmazása, ahol ugyanazon az adaton több forrásból is módosít, és több helyre kell reagálnia ezekre a változásokra.

Ha végül nem használja a BLoC-t vagy a provider -t, akkor ki kell találnia néhányat az állam kezelésének módszere az alkalmazásban, különösen az értesítéseket illetően.

A Flutter összehasonlítása más hibrid keretrendszerekkel

React Native

A React Native egyelőre messze a legnépszerűbb és legsikeresebb hibrid mobilalkalmazás-keretrendszer, és jó okkal. Ehhez egy népszerű és jól elkészített front-end webes keretrendszer, a React kellett, és lehetővé tette a front-end fejlesztők millióinak, hogy mobilalkalmazásokat is kezdjenek írni. Bízom abban, hogy a mai nagyszerű mobilalkalmazások közül soha nem készült volna el, ha a fejlesztőknek meg kellene találniuk az időt és a motivációt a natív iOS és Android fejlesztői SDK megtanulásához.

Ebben a háttérben bízom abban, hogy azt mondom, hogy a Flutter végül megnyeri vezető hibrid mobilalkalmazás-keretrendszerét. Ennek pár oka van.

A React Native komponenseket JavaScript kódban írják le, és natív vezérlőkké alakítják. Ez azt jelenti, hogy a felhasználók más felhasználói felületet éreznek az alkalmazás iOS és Android verzióiban. Ha a fejlesztők natív élményt próbálnak elérni a felhasználók számára, ez nagyszerű.

Ez azonban azt is jelenti, hogy ha a fejlesztők meg akarják szerezni a ugyanaz, következetes A felhasználói felület mindkét mobilplatformon keményen meg kell dolgozniuk a natív komponensek stílusának megalkotása érdekében, hogy egyformának tűnjenek, vagy különböző komponenseket kell használniuk, amelyek mindkét platformon azonos megjelenést és érzetet biztosítanak.

Ezt szembeállíthatod a Flutterrel, ahol a keretrendszer a saját widgetjeit biztosítja az összes támogatott platformon. Nincs fordítás, mert a Flutter nem támaszkodik a natív vezérlőkre a felhasználói felület festéséhez. Ehelyett a saját vezérlőkönyvtárát használja. A Flutter widget-könyvtárában valóban vannak olyan kezelőelemek, amelyek natív vezérlőknek tűnnek, de ezek teljesen választhatóak.

Ennek a megközelítésnek vannak előnyei és hátrányai. A legnagyobb profi, hogy most már pontosan ugyanaz az alkalmazás van mindkét platformon. De azért feladsz néhány dolgot ennek elérése érdekében.

Mivel a Flutter a saját widgetjeit használja a natívak helyett, ezért nem használhatja a meglévő könyvtárak sokaságát, amelyek egyedi kezelőszerveket biztosítanak Önhöz hasonlóan, a React Native minimális munkájával. A React Native alkalmazásban nagyon egyszerű egy kis burkolatot írni a meglévő natív vezérlő köré, és működtetni kell. Ezért is van az, hogy jelenleg nincs stabil Google Maps implementáció a Flutter számára.

A natív vezérlők beágyazásának képességén azonban jelenleg dolgoznak, és a fejlesztői előnézetben van, ami azt jelenti, hogy használhatja, de lehet, hogy hibákkal kell megküzdenie. Miután megjelent, lezárja ezt a meglehetősen nagy lyukat a Flutterben a React Native-hoz képest.

Ugyanez a Flutter szolgáltatás - a saját widgetek könyvtárának használata a natív helyett - óriási előnyt nyújt akkor is, ha egy teljesen új komponenst szeretne létrehozni. A React Native alkalmazásban fel kell építenie egy platform-natív összetevőt, és kötésekkel importálnia az alkalmazásába.

A Flutter segítségével egyedi elemeket építhet a Dart kódba. Teljes mértékben Ön felügyelheti a felhasználói felületet olyan widgetekkel, mint a CustomPainter amellyel bármit rajzolhat, amire szüksége van, és rendelkezésre áll egy widget-könyvtár, amely lehetővé teszi az egyéni animációk végrehajtását. Soha nem kell kilépnie a Dart kódbázisból ezen egyéni kütyü felépítéséhez.

És ez szerintem az egyik legnagyobb Flutter előny. A kezelőfelületet teljes mértékben a Dart-kódtól vezérelheti, és már nem kell aggódnia a fejlesztett platformok natív SDK-jának megtanulása miatt.

Apache Cordova

Az Apache Cordova nem annyira keretrendszer, mint inkább böngészőburkoló. A Cordova segítségével webes technológiák felhasználásával készíti el az alkalmazását: HTML, CSS és JavaScript. A Cordova lehetőséget nyújt arra, hogy futtassa ezt az internetes alkalmazást mobil platformokon, és natív platform API-kat tesz közzé JavaScript-ben, így az alkalmazás kölcsönhatásba léphet a platformmal.

A Cordova számára számos különféle keretrendszer készült. Az egyik leghíresebb, amelyet a múltban használtam Ionikus keret . Olyan felhasználói felület-összetevőket kínál, amelyek a natív platform-összetevőkhöz hasonlóan mutatnak és működnek. Ezeket az összetevőket azonban HTML / CSS / JavaScript segítségével valósítják meg.

A Cordova és az Ionic fejlesztési tapasztalatai nagyon szépek, és az indulás nagyon gyors, ha Ön már webfejlesztő. Mivel webes technológiákat használó alkalmazásokat épít, a teljes webes ökoszisztéma rendelkezésre áll. Gondoljon a HTML / CSS / JavaScript-en alapuló kis összetevők és könyvtárak százezreire, és ezek közül a legtöbbet - ha nem az összeset - felhasználhatja. Ez azt jelenti, hogy a legtöbb szükséges widget már online elérhető az Ön számára.

Ez azonban hátrány is. Mivel webes technológiákat használ az alkalmazások felépítéséhez, nagy gondot igényel annak biztosítása, hogy az alkalmazás mobilalkalmazásnak tűnjön és úgy érezze magát, és ne csak egy olyan webhelyet, amelyet mobilra csökkentettek.

Míg a Cordova nagyszerű módja az MVP vagy akár az alkalmazás első néhány verziójának fejlesztésére, az első, amit a Flutterben építettem, egy ionos alkalmazás portja volt. Az első interakciótól kezdve észrevehetőek voltak a teljesítménybeli fejlesztések, különösen azokban a nézetekben, amelyekben sok tartalmat lehetett végiggörgetni.

Xamarin

Nincs tapasztalatom a Xamariannal kapcsolatban, ezért nem tudom igazságosan összehasonlítani a kettőt. Kutatásom során azonban találkoztam a remek cikk hogy korrekt összehasonlítást végez.

Noha a cikk a Flutter és a Xamarian között holtversenyben áll, bátran kijelenthetem, hogy ha olvastam volna, és választanom kellett volna a két keret között, akkor mentem volna a Flutterrel, mert azok a dolgok, amelyekben ragyog hogy többet értékelek.

A csapkodás műszaki áttekintése

Flutter: A hibrid alkalmazáskeretek „játékmotorja”

A hibrid mobilalkalmazás-keretrendszerek közül a Flutter egyedülálló megközelítést alkalmaz. Nem delegálja a felhasználói felületet a natív platformra, és nem használ webnézetet. Ehelyett a Flutter saját renderelő motort használ az UI festésére. Ez hasonló ahhoz, ahogyan a játékok olyan játékmotort használnak, amely a kezelőfelületük minden részét generálja, ahelyett, hogy natív vezérlőket használnának.

A Flutter a nagy teljesítményű, csatában bevált módszert használja Skia grafikus motor rajzolni minden mobilalkalmazásában. A Skia használata két fő előnnyel jár, amelyekre gondolhatok, bár biztos vagyok benne, hogy a Flutter mögött álló Google mérnökei sokkal többet gondoltak:

  1. Az alkalmazás minden platformon pontosan ugyanúgy fog kinézni, anélkül, hogy mindegyikhez személyre kellene szabni.
  2. Alkalmazása nagyszerű teljesítményt fog elérni, hasonlóan a natív alkalmazásokhoz, mert nincs olyan köztes réteg, amelynek le kellene fordítania kódját natív platformkódra a widgetek rajzolásához.

Minden egy Widget

A Flutter dokumentumai a Flutterről mint „React stílusú keretrendszerről” beszélnek. Ez abban nyilvánvaló, hogy az alkalmazások hogyan épülnek fel a kisebb kütyü ( alkatrészek a React terminológiában) együtt.

Flutter azonban vállalja a minden egy widget megközelítsen egy lépéssel tovább, mint bármely más keretrendszer, amellyel dolgoztam.

Egyszerű példa a párnázás. A legtöbb keretrendszerben a kitöltés a felhasználói felület elemének attribútuma. A Flutterben, Padding olyan widget, amely más widgeteket is be tud burkolni magába, és párnázatot adhat gyermeke widgetje köré.

Egyedülállóbb, hogy a InheritedWidget nem rendelkezik felhasználói felülettel és nem biztosít felhasználói interakciókat. Az egyetlen feladata, hogy információt adjon a widget-fához, hogy egy bizonyos ponton a fa mélyén kihúzhassa ezeket az információkat.

Például az alkalmazás gyökere - a MaterialApp widget - a InheritedWidget segítségével hitelesítési szolgáltatást juttathat a widget-fába. Most, a fa mélyén egy másik oldalon, például a felhasználói profil oldalán, használhat egy módszert az adott hitelesítési szolgáltatás kibontására és használatára.

Ez minden egy widget megközelítés némi megszokást igényel. De ha már ismeri, hatékony módja lesz az alkalmazások funkcionalitásának kiépítésére.

Hebegés, darts és ásás a forrásba

A csapkodás szorosan kötődik Darthoz. Míg a mag renderelő motor C / C ++ nyelven épül fel, ez csak egy kis része a Flutter-nek.

A Flutter kódbázis többségét Dartban írják, és vannak kiváló okok miért a Flutter csapata választotta. De a legnagyobb előny számomra az volt, hogy könnyedén megnézhettem a keretrendszer forráskódját - és az összes általa biztosított különböző modult -, és tanulhattam tőlük.

Ez erősebb előnyt jelent, mint sok fejlesztő észrevesz. Azt javaslom, hogy a legtöbb fejlesztő próbáljon választ találni a keretrendszerének / könyvtárának kódjában, mivel ez nemcsak segít megérteni, mi történik a takaró alatt, hanem kiváló minőségű, jól megtervezett kódnak is kiteszi őket, ami biztos módja fejlesztőként való növekedés.

Natív platform interoperabilitás

Míg a Flutter biztosítja a felhasználói felület réteget, és az üzleti logikát egyszerűen kezelheti tiszta Dart-csomagokon keresztül, a natív platform képességeinek eléréséhez, például a földrajzi helymeghatározáshoz és a kamera vezérléséhez, a pub.dev harmadik féltől származó csomagjainak használata a legegyszerűbb stratégia.

Ha azonban van olyan funkció, amelyre szüksége van, amely nem érhető el egy meglévő csomagon keresztül, te magad írsz egyet nem túl nehéz. Magam nem készítettem platform-natív csomagokat, de kíváncsiságból sokaknak megnéztem a forráskódot.

Annak ellenére, hogy nem vagyok natív alkalmazásfejlesztő, többnyire megértettem e beépülő modulok natív részeit, és megtudtam, hogyan kapcsolódnak a Dart futásidejéhez üzenetátadás útján. A tapasztalt natív platformfejlesztők számára egy új csomag létrehozása a natív képességek kiaknázása érdekében nagyon egyszerű lesz.

Használjon fluttert a következő projektben?

Remélhetőleg ez a cikk elegendő információt adott ahhoz, hogy eldönthesse, használhatja-e a Fluttert a mobilalkalmazás-projektjében. Megpróbáltam kiegyensúlyozott képet adni a Flutterről, felsorolva mind az előnyöket, mind a hátrányokat.

Bár senki sem hozhat döntést helyetted, tudok adni némi elválasztási tanácsot arról, hogy miként közelíthetném meg azt a kérdést, hogy a következő csapos mobilalkalmazásomban használjam a Flutter-t. Ha a Flutter előnyei megadják az összes képességet, amire egy alkalmazásnak szüksége van, akkor szívdobbanással választanám.

Ez azért van, mert azon kevés területen kívül, ahol a Flutter jelenleg hiányzik, annak minden más aspektusa olyan, amelyet megcsodáltam és amelyekre támaszkodtam az elmúlt öt öt különböző Flutter-alkalmazás fejlesztésében és elindításában:

  • A csapkodás könnyű beindulása
  • Az a sebességnövekedés, amelyet az alapoktól kezdve úgy terveztek, hogy a fejlesztés sebességére összpontosítsanak
  • A könnyen elérhető Dart könyvtárak és külső csomagok gazdag ökoszisztémája
  • A Flutter eltérő, de rendkívül produktív módja az alkalmazások fejlesztésére a minden egy widget megközelítés

Akik felajánlják mobilalkalmazás-fejlesztési szolgáltatások bölcs lenne komoly pillantást vetni Flutterre, ha még nem tették meg.

Zárásként megemlítek egy utolsó Flutter-előnyt: Minden könyvtár vagy keretrendszer legjobb dokumentációjával rendelkezik, amellyel dolgoztam. Ritka, hogy guglizok egy Flutter kérdést, és erre nem válaszol egy oldal Flutter saját oldala .

Összefüggő: Flutter Tutorial: Hogyan hozzuk létre az első Flutter alkalmazást

Google Cloud Partner jelvény.

Google Cloud Partnerként az ApeeScape Google által tanúsított szakértői állnak a vállalatok rendelkezésére igény szerint legfontosabb projektjeikhez.

Az alapok megértése

Milyen betegségek esetén alkalmazható a Flutter?

A Flutter a Google mobilalkalmazás-fejlesztő platformja, amelyet gyors, natív jellegű mobilalkalmazások készítésére használnak. A csapkodó alkalmazások ugyanabban a kódban futtathatók iOS-en és Androidon is, és mindkét platformon ugyanazt a felhasználói felületet mutatják be.

Milyen nyelv a Flutter?

A Flutter a Dart programozási nyelvet használja, amelyet a felhasználói felület összes moduljának és egy mobilalkalmazás üzleti logikájának kódolására használnak.

Miért hozta létre a Google a Fluttert?

A Google kijelölt célja a Flutter létrehozása érdekében olyan felhasználói felület eszköztár biztosítása, amely felhasználható mobilalkalmazások létrehozására, amelyek 1) a fejlesztőknek teljes irányítást biztosítanak az alkalmazás minden rétege felett, 2) szinte natív teljesítményt nyújtanak és 3) ugyanúgy néznek ki és működnek minden támogatott platformon.

A Fluttert nehéz megtanulni?

A Flutter a Dart nyelvet használja, amely egy erőteljes, de megközelíthető programozási nyelv. Ha ismeri az alapvető OOP-fogalmakat, és van némi programozási tapasztalata, akkor könnyedén megtanulhatja a Dart alapjait, és akár két hét alatt elkezdheti az alkalmazások építését a Flutterrel.

Érdemes megtanulni a Fluttert?

A hibrid mobilalkalmazás-fejlesztés új izgalmas belépőjeként a Flutter mindenképpen érdemes megtanulni. Könnyű elindítani és elég hatékony ahhoz, hogy a legtöbb alkalmazáshoz használható legyen. Már olyan vállalkozások kritikus alkalmazásait táplálja, mint a Google, az Alibaba és a Nubank.

Van-e jövője a Flutternek?

A Flutter stabil és aktív projekt, 2020 májusában jelentette meg a v1.7 verziót, jelentős teljesítménybeli fejlesztésekkel. Olyan cégek használják, mint a Google és az Alibaba, hogy működtessék fő üzleti mobilalkalmazásaik részét. Elég ésszerű azt várni, hogy a Flutter a hibrid mobilalkalmazások fejlesztésének jövője lesz.

Céloldal tervezése: A végső céloldal megépítése

Folyamat És Eszközök

Céloldal tervezése: A végső céloldal megépítése
Hogyan készítettem egy teljesen funkcionális Arduino meteorológiai állomást

Hogyan készítettem egy teljesen funkcionális Arduino meteorológiai állomást

Technológia

Népszerű Bejegyzések
Webpack vagy Browserify & Gulp: Melyik a jobb?
Webpack vagy Browserify & Gulp: Melyik a jobb?
Az öt lépésből álló folyamat a blog magas konverziós csatornává alakításához
Az öt lépésből álló folyamat a blog magas konverziós csatornává alakításához
A Fintech ipar helyzete (infografikával)
A Fintech ipar helyzete (infografikával)
Hogyan akadályozhatjuk meg a funkciók kúszását a felhasználói történetek bevált módszereivel
Hogyan akadályozhatjuk meg a funkciók kúszását a felhasználói történetek bevált módszereivel
Rugalmas A / B tesztelés AWS-sel [e-mail védett]
Rugalmas A / B tesztelés AWS-sel [e-mail védett]
 
Senior front-end mérnök, Matching Team
Senior front-end mérnök, Matching Team
A gradiens süllyedés számos alkalmazása a TensorFlow-ban
A gradiens süllyedés számos alkalmazása a TensorFlow-ban
Design Hírek - Innováció a világ minden tájáról
Design Hírek - Innováció a világ minden tájáról
Hogyan adhatunk szakmai visszajelzést
Hogyan adhatunk szakmai visszajelzést
Ossza meg a visszavásárlás függőségét: a siker esettanulmányai
Ossza meg a visszavásárlás függőségét: a siker esettanulmányai
Népszerű Bejegyzések
  • mi a görög válság
  • gépi tanulási oktatóanyag kezdőknek
  • pmo-t nem használnak
  • A függvények azok, amelyeket már megírtak és a rendszer részeként biztosítottak.
  • ingatlanalapok alapja
Kategóriák
  • A Munka Jövője
  • Mérnöki Menedzsment
  • Innováció
  • Mobil
  • © 2022 | Minden Jog Fenntartva

    portaldacalheta.pt