En hurtig guide til MeteorJS - Hvad det er, og hvem der skal bruge det

MeteorJS er en alt-i-et-ramme til oprettelse af JavaScript-applikationer. Hvis du kan lide at oprette websteder i HTML, CSS og JavaScript, kan du bruge disse færdigheder til at oprette apps til din pc eller telefon.

Som standard, når du “meteor create myapp & cd myapp & meteor run”, serverer den en HTML / JavaScript-webside sammen med en Node / MongoDB-backend (som ikke er brugt i øjeblikket).

Nodejs er simpelthen navnet på JavaScript, der sidder i serverenden. Mongodb er den NoSQL-database (ikke kun struktureret-forespørgsel-sprog), som Meteor bruger.

Lad os starte en demo af en mobilapp

For at komme i gang skal du skrive “meteor add-platform android” og derefter “meteor run android”. Dette kører denne app på din tilsluttede telefon (eller virtuel enhed) ved hjælp af din computer som server (hvis du lavede noget i backend). Du kan gøre det samme med en iPhone ved hjælp af en Mac.

JS-, HTML- og CSS-filerne er intuitivt organiseret i 'server' og 'klient' -mapperne. Dette er MVC (model view controller) design mønster.

Android- og iOS-mobilgrænsefladerne håndteres af Apache Cordova. Du kan ikke se det i en grundlæggende webapp. Du bør dog helt sikkert være opmærksom, hvis du bruger telefonhardwarefunktioner.

Den grundlæggende platform giver dig mulighed for at tilføje, uanset hvilken anden ramme du ønsker, bagenden eller frontenden. Alt fra Angular, Express, React og Vue kan installeres oven på Meteor.

Populære CSS-rammer som Material-UI bruges normalt til at lette designarbejdet. Du behøver dog slet ikke tilføje andre rammer. Meteor leveres med en fantastisk Publish / Subscribe-metode, Blaze-styr og brugerkonti og meget mere.

Ud over demoen

Udover de plugins, der er tilgængelige med "meteor add", har du også adgang til alle npm- og cordova-plugins. Du kan bruge "meteor npm install" for at få adgang til dem.

Du kan endda tilføje en desktop-platform ved hjælp af Meteor-desktop. Dette bruger Electron-rammen. Du kan derefter oprette Windows-, Mac- og Linux-applikationer. Forhåbentlig understøttes denne funktionalitet i Meteor version 2.0.

Der har været et sundt samfund af Meteor-udviklere i forskellige fora siden 2012. Dokumentationen på guide.meteor.com er mere omfattende og klar i forhold til de fleste rammer.

Selvom dette kan synes at være den perfekte genvej til en ny udvikler, vil jeg advare dig: Medtag ikke en pakke eller ramme i dit projekt, før du er sikker på, at du ved, hvordan det fungerer.

Meteor er god til integration, men det kan tage ekstra arbejde at kombinere forskellige pakker. Find ikke bare en liste over pakker, der forventer, at det fungerer perfekt sammen.

Meteor er et godt værktøj til en nybegynder, der ønsker at blive introduceret til det brede omfang af appudvikling og processen med at opbygge en simpel app.

Produktion

Meteor kan naturligvis oprette web- og mobilapps til fuld produktion. Det bruges af flere mellemstore og store virksomheder som Ikea og Workpop.

For nem udvikling og optimering kan du bruge Galaxy hosting. Galaxy hjælper dig med at komme i produktion uden behov for nogen systemadministrationsviden.

Hvis du har viden og tid, kan du være vært for det på din egen server / VPC. For eksempel kan en AWS Lightsail-forekomst på $ 5 om måneden være vært for en app med hundrede brugere.

Selvhosting og bygning fungerer meget på samme måde, som du startede Meteor-demoen. I stedet for "meteor run" vil du dog bygge (meteor build) - din backend i en standard nodeJS app, og din mobil til en signeret APK eller IOS app.

Der har været rygter gennem årene, at Meteor ikke skalerer godt. Dette er stort set modbevist og kan overvindes med forskellige teknikker.

Meteorsikkerhed har de typiske høje standarder for et velholdt open source-projekt. Følg sikkerhedsguiden nøje, og pas på noSQL-injektion.

Fordele ved Meteor

  • Et forskelligartet samfund af bidragydere giver rammen særlig modstandsdygtighed og lang levetid. De fleste andre rammer er skabt af et enkelt mega tech-firma. Dette kan betyde, at projektet bliver skrinlagt, hvis de ikke ser noget investeringsafkast. Med Meteor følger udviklingen meget tæt på brugerne.
  • Det er på tværs af platforme. Googles Flutter fungerer ikke på Apples iPhone. Meteor giver dig mulighed for at foretage alle implementeringer af din app på ét sted.
  • Det er indbygget i MongoDB-handlers, og der er understøttelse af GraphQL.

Ulemper ved Meteor

  • Hvis udviklere lægger for meget tillid til forskellige forudbyggede pakker, kan de komme i konflikt med hinanden.
  • Hvis du bare laver en webapp, kan det være nemmere at bruge Express.
  • Du kan ikke få en mobil webapp til at køre så effektivt som med native.

Afslutningsvis er Meteor en effektiv ramme, der kan hjælpe dig med at reducere udviklingstiden og lette appvedligeholdelse.

Hvis du ønsker at lære mere om, hvordan du laver apps i JavaScript, skal du læse denne nye bog fra Manning Publications.