signal-integrated-mobilecoin-raises-75-million-at-1-billion-valuation.jpg

Izdelava aplikacije AR s Flutterjem in Appwriteom

Izvorno vozlišče: 1857594

Prvotni tehnološki sklad za to je bil Flutter, Unity AR in Firebase, vendar smo kmalu morali preklopiti na uporabo vtičnika ar_core_flutter in Appwrite za zaledje. Svoje odločitve bom opisal v nadaljnjih razdelkih o tem, zakaj sem zamenjal tehnološki sklop ter o izzivih in koristih, ki sem jih doživel.

Gradnja aplikacije s Flutterjem

S tem projektom sem želel poskusiti nove stvari, ki jih še nisem poskusil. Tako sem izbral Getit kot lokator storitev, GetX za upravljanje države, in Beamer za usmerjanje in navigacijo. Nobenega od teh prej nisem uporabljal v svojih projektih in sem bil navdušen, da sem jih preizkusil, saj so v skupnosti precej priljubljeni.

  • Državno upravljanje

Vendar se stvari niso obnesle, moj pripomoček se ni posodabljal z GetX, za katerega vem, da sem ga morda napačno uporabljal, dokumentacija je nekoliko pomešana, poleg tega sem se večkrat skliceval nanjo in nisem mogel ugotoviti, natančen način uporabe določenih stvari, je bila tudi uporaba nekoliko zmedena GetBuilderin GetX saj imata podobne funkcije. Na splošno se moj pripomoček ni posodobil in ni mi bilo jasno, zakaj, saj sem svoje delo večkrat preveril. Poleg tega, ker sem prihajal iz Riverpoda in sem uporabljal BloC, se je celotna struktura datotek zdela kot anti-vzorec, veliko težje sem organiziral svojo kodo in jo strukturiral. Torej po mojem mnenju, če ste a Fporinjen + Riverpod Uporabnik, zlasti s kljukicami, se morda ne bo počutil kot doma, če bo preklopil na karkoli drugega.

Celoten projekt sem moral preseliti nazaj v uporabo Zamrznjeno + Riverpod, je po mojem mnenju način, kako zamrznjeno preslikava stanja v gradnike, ena najlepših sintaks, ki bo vašo kodo ohranilo čisto v kombinaciji s StateNotifierjem in kljuke, je Riverpod ena najboljših kombinacij paketov za oblikovanje in vzdrževanje vaše kodne baze.

1. Kako lahko VR prinese transhumanizem do množic

2. Kako razširjena resničnost (AR) preoblikuje živilsko industrijo

3. ExpiCulture - razvijanje izvirne VR izkušnje, ki potuje po svetu

4. Enterprise AR: 7 primerov dejanske uporabe za leto 2021

  • ostalo

Beamer je čudovit paket, ki poskuša rešiti zapletenost uporabe Navigatorja 2.0 v Flutterju. Čeprav ima neverjetno podporo za izdelavo zapletenih navigacijskih postavitev, je bilo še vedno težko razumeti nekatere stvari, saj mi je zmanjkovalo časa in nisem imel priložnosti, da bi se več poigral s paketom. Zato sem moral preklopiti nazaj na avtoroute, ki sem ga uporabljal že nekaj časa, in AutoRoute podpira Navigator 2.0 z veliko preprostejšim API-jem.

Povečana Reality

Prva možnost je bila uporaba Unity AR s pomočjo Pripomoček Flutter Unity paket. Zagotovo pa je zelo malo virov za uporabo AR v enotnosti in celotna integracija je preprosto bolj zapletena. Prikazovanje več predmetov iz oddaljene zbirke podatkov je bilo še vedno težavno razmišljanje, saj se tega nisem dobro zavedal in tudi skupnost okoli tega je precej majhna, flutter+unity je res kul podpora, toda razen če ste delali z enotnostjo, morda ne bo najbolj gladka razvojna izkušnja.

Želim si, da bi ekipa flutter uradno podprla takšne primere uporabe, a na srečo obstaja veliko truda skupnosti in lep paket AR Core Flutter.

  • Izzivi

Čeprav mi ga je uspelo uspešno integrirati z dobrim rezultatom, ni šlo brez izzivov. Največji je bil prikazovanje visokokakovostnih 3D modelov iz Blenderja. To je lahko omejitev androida, lahko pa tudi zaradi omejitev sceneform knjižnico, ki jo paket uporablja interno, je Google sceneform zdaj opustil. V repozitoriju poteka razprava o prestavitvi projekta na najnovejšo različico jedro AR API kmalu.

Modeli so bili videti črni, zato smo jih morali izvoziti v določen format, saj formata gLTF in gLB nista delovala najbolje. In še ena velika omejitev, s katero smo se soočili, je bilo prikazovanje predmetov z uporabo oddaljenega URL-ja, čeprav je to podprto, ni delovalo za ustvarjene modele, čeprav smo poskusili upodabljati najnižjo kakovost. podpiral je samo zelo majhne datoteke.

Obstaja več upanja, pred kratkim sem odkril še en paket, katerega cilj je poenotiti integracijo AR v flutter in zagotoviti najnovejšo podporo za API, blagajna ar_flutter_plugin.

Backend in Appwrite

Firebase je bil prvotna izbira za zaledje. Ampak imel sem oči appwrite.io nekaj časa in ugotovil, da je pravi čas za uporabo in preizkus.

Appwrite je odprtokodno zaledje kot storitev. Edina odvisnost, ki jo ima appwrite, je docker in začnete lahko skoraj z enim ukazom.

Najbolj osupljiva stvar pri appwrite je skupnost. Strežnik skupnosti appwrite je poln podpornih in prijetnih interakcij. Ekipa vam je vedno na voljo za pomoč, če se kdaj zataknete. Appwrite prikazuje pravi duh odprtokodnosti in odprtokodnih skupnosti.

Appwrite je bil zelo zabaven za uporabo, saj zagotavlja več nadzora nad določenimi funkcijami, kot je nadzor seje. Z lahkoto lahko nadzorujete več sej uporabnika. To pomaga pri gradnji bolj zapletenih aplikacij. Vključuje tudi strežnik SMTP, ki ga lahko preprosto integrirate z Mailgunom za komunikacijo z uporabniki prek e-pošte po meri.
Druga odlična funkcija so funkcije pisanja aplikacij s podporo za več kot 5+ izvajalnih časov, vključno z Dart. Funkcije sem lahko uvedel brez večjih težav. Varnost je tudi ključna funkcija, vgrajena v Appwrite, saj lahko vsaki poizvedbi in dokumentu dodelite nabor varnostnih pravil po meri.

Največja prednost appwrite mora biti zaklepanje proti prodajalcem. Ker je appwrite odprtokoden in ga lahko uvedete pri svojem najljubšem ponudniku v oblaku s pomočjo Docker Swarm ali Kubernetes, lahko obdržite vse svoje podatke in po potrebi preprosto preselite ponudnike v oblaku.

  • Izzivi

Appwrite je še vedno v zgodnjih fazah razvoja in ni brez izzivov.

Glavni izziv, s katerim sem se srečal, je bila uporaba baze podatkov. Čeprav Apwrite ponuja vmesnik NoSQL, se baza podatkov zdi bolj podobna SQL, saj morate definirati svoje ključe, preden naložite kakršne koli podatke, vsi podatki pa morajo slediti shemi. Drug izziv je bilo shranjevanje ugnezdenih dokumentov in zbirk. Dokument se lahko poveže z zbirko, vendar vsak dokument ne more imeti samodejno ugnezdene svoje ločene zbirke, nanašal se bo le na zbirko znotraj korenske ravni. To se bo zdelo kot pomanjkljivost, če prihajate iz firestore, vendar je najverjetneje posledica osnovne baze podatkov MariaDB, ki jo uporablja appwrite.

Appwrite trenutno dela na adapterju MongoDB, po katerem bi lahko te omejitve premagali.

Drugi izziv je morda enostavno sodelovanje in lokalni razvoj, appwrite pa ponuja poseben API za ekipe za upravljanje in sodelovanje z vašo ekipo na nameščenem strežniku. Vendar boste morali vzdrževati dosledne podatke in shemo, da zagotovite, da vsi vaši soigralci vidijo enak rezultat.

Appwrite ima vsekakor velik potencial in vodi revolucijo v odprtokodnem ozadju kot storitvenih produktih, ki bi lahko bili bolj izvedljivi, ko podjetja sprejmejo več tehnologij, ki so izvorne v oblaku, in zahtevajo večjo prilagodljivost.

Source: https://arvrjourney.com/building-an-ar-app-with-flutter-and-appwrite-1817b9ed4ff5?source=rss—-d01820283d6d—4

Časovni žig:

Več od AR / VR potovanje