Kui te pole veel Hoodie'st kuulnud, peaksite selle üle vaatama.
Pusa on progressiivne uus raamatukogu domeenile esiotsa arendajad see võtab kasutusele mõned tähelepanuväärsed uued filosoofiad, mis tõenäoliselt muudavad nii rakenduse arendamist kui ka kasutajakogemust. Hoodie paneb kontrolli üle täis virna , kasutajaliidese arendamine täielikult kasutajaliidese arendajate ja kasutajakogemuse gurude käes, neid vabastades nende kolleegide vahel vaieldamatutest tehnilistest vastuväidetest. Lisaks vabastavad Hoodie-rakendused kasutajad katkematu ühenduvuse ahelatest, lastes neil teie rakendust hoolitsuseta kasutada liikvel, õhus või mere all.
Kuigi platvorm on alles lapsekingades, pakub see juba uusi võimsaid tööriistu, mida tasub proovida kõigil esiotsa arendajatel, kes soovivad mängust edasi pääseda. Hoodie taga olev meeskond on tõestatud taustaga, olles töötanud teiste üliedukate projektidega nagu CouchDB, Async, Mustache.js ja palju muud .
Pärast seda, kui sain teada, mis on Hoodie täispika arendusraamatukogu töös ja olen projektist väga põnevil, otsustasin seda ka ise proovida. Lubage mul rääkida teile natuke rohkem Hoodie kohta ja näidata teile potentsiaali suurepäraste rakenduste arendamiseks.
Esiteks, mis on Hoodie? Mis selles nii suurt on? Hoodie on avatud lähtekoodiga, täielikult JavaScripti platvorm ja API, mis ühendab mitu võimsat uut paradigmat ühes täispika arenduspaketis, millest saavad kasu nii Hoodie-rakendusi loovad arendajad kui ka nendega suhtlevad lõppkasutajad. Nende mõistete seas on peamised liikumised “noBackend” ja “Offline First” koos tugeva kogukonnapõhise protsessiga, mida nimetatakse “Dreamcode” -iks API väljatöötamiseks.
Hoodie usub suurepärase võtit esiotsa rakenduse arendamine peitub kasutajakogemuse ekspertide ja arendajate käes, kes teavad, kuidas muuta rakendus suurepäraseks ja seda on hea meel kasutada, kuid keda piiravad liiga sageli taustatehnika, mille üle neil puudub kontroll. Põhimõttelised serverite interaktsioonid, mis on olnud igavesed, nagu kasutajate registreerumine / sisselogimine, andmete salvestamine või e-posti saatmine, nõuavad jätkuvalt iga uue rakenduse jaoks aeganõudvat kohandatud juurutamist, sundides esiotsa arendajat õppima ja uute tagavarakoodide jaoks koodi pakkuma. iga kord ringi.
noBackend tähendab, et te ei vaja back-end arendajat!Hoodie annab juhtimise tagasi kasutajaliidese disaineri ja arendaja kätte, abstraktselt eemaldades selle tagaosa. Hoodie esiotsa rakenduse arendamise abil peate selle asemel, et muretseda oma serveri poole pärast, ainult Hoodie sisseehitatud lihtne, hõlpsasti õpitav ja rakendatav esiotsa API. Näiteks soovite registreerida uue kasutaja? Seda saab teha ühes koodireas:
hoodie.account.signUp(username, password);
See on idee noBackend algatus, millele Hoodie on täielikult pühendunud. noBackend tähendab, et te ei vaja back-end arendajat! Paigaldage lihtsalt Hoodie back-end oma serverisse, ja unusta see ära .
Hoodie on kirjutatud täielikult JavaScripti abil. Selle iseseisev taustkasutus Sõlm. JS koos Apache CouchDB andmebaasina. Selle kirjutise juures on Hoodie põhifunktsioonid juba kasutajate registreerimine ja haldamine, andmete laadimine, salvestamine ja e-kirjad. Neid põhifunktsioone saab hõlpsasti laiendada, lisades täiendavaid Node.js pistikprogramme.
Hoodie on ennekõike API - see teeb noBackendi võimalikuks. Hoodie juurutamine võib aja jooksul muutuda ja paraneda, kuid arendajatele pakutav liides jääb samaks, nii et te ei peaks selle pärast kunagi muretsema.
Hoodie kasvab endiselt kiiresti ja pidevalt lisatakse uusi funktsioone. Hoodie, nagu teisedki noBackendi projektid, kasutab nimega API kujundamisel kogukonnapõhist lähenemist Unistuste kood . Põhimõtteliselt näete unes koodi, mida soovite meeldib kirjutamiseks ja kui see saab kogukonnalt piisavalt tuge, teeb Hoodie selle teoks.
See API-esmajärjekorras rahvarohke lähenemine Hoodie API kujundamisel tähendab, et Hoodie kood on kirjutamiseks imelihtne ja lugemiseks imelihtne. See on teie unistuste kood!
Hoodie lahendab esiotsa rakenduste arendajatele palju probleeme oma noBackend, Dreamcode-põhise API abil. Kuid Hoodie üks peamisi eesmärke on lahendada ka kasutajate jaoks suur probleem - nende sageli halvav sõltuvus ühenduvusest.
Kui üleminek mobiilirakendustega mobiilseadmetele toimub, on vana töölaual põhinev pideva ühenduvuse eeldus muutunud. Kogu selle aja on lubadus olnud, et kuhu iganes ka ei läheks, seal on Internet olemas. Tänaseni käsitletakse ühenduvuse kaotust anomaaliana, mis sulgeb kasutajate võimaluse midagi teha, kuni nad on taas võrgus. Kuid nagu me kõik teame, pole telekommunikatsioonivõrk seda lubadust täitnud. Ühenduvus väljub aknast lennukitel, metroos, maapiirkondade teedel ja loendamatus muus olukorras. Ja seda maailma arenenud piirkondades! Planeetide tohututes piirkondades on stabiilne juurdepääs Internetile harva erand reeglist .
The Esmalt võrguühenduseta liikumine otsib graatsilist ühtlustamist selle lihtsa elutõega. Funktsiooniga Võrguühenduseta on ühenduseta ühendamine lihtsalt üks rakenduse tavaline olek. Tegelikult on see vaikeseisund! Hoodie võtab selle filosoofia entusiastlikult omaks. API taga on ajutise kohaliku salvestusruumi täielik esiotsa juurutamine ja automaatne, graatsiline sünkroonimine alati, kui ühendus muutub kättesaadavaks.
Funktsiooniga Hoodie saate postitada kommentaare, saata e-kirju, muuta kontosid ja teha kõige muu igapäevase tegevuse, muretsemata ühenduse pärast. Kogu salvestus- ja sünkroonimissüsteemi saab igal ajal katkestada, kartmata andmete kaotamist.
Loomulikult on sellel mudelil oma komplekt ainulaadsed disaini väljakutsed ja lähenemised , kuid Hoodie meeskond on nende väljakutsete lahendamiseks pioneer.
Võrguühenduseta esimene on põnev rakendusepõhine arendus, selle varases kasutuselevõtu etapis. Vajalike tehnikate väljatöötamiseks on veel palju teha. Vaata siin et näha, kuidas Hoodie seda teeb.
Et näidata Hoodie kasutamist esiotsa arendustööriistana, otsustasin kirjutada lihtsa rakenduse, mis võimaldaks meie kogukonna liikmetel luua oma üritusi ja avaldada need teistele inseneridele sirvimiseks ja ajakava täiendamiseks. Pidage meeles, et siin on eesmärk näidata Hoodie-d ja mitte pakkuda rakendust, mis on tootmisvalmis. Koodi leiate minu GitHubi lehel .
Hoodie on teki all sisuliselt NodeJS-i sisseehitatud serveripoole ja kliendipoolse JavaScripti teeki kombinatsioon. Lisaks lihtsale installimis- ja juurutusprotsessile töötab rakenduse kallal töötav arendaja ainult kliendipoolse koodiga. Sisseehitatud teek saab serveripoolega rääkida ilma, et arendaja selle toimimisest midagi teaks.
Mis siis, kui meie rakendus nõuab, et me teeksime serveris midagi kohandatud? Saame alati luua Hoodie pistikprogramme. Siin on lisateavet pistikprogrammide kohta .
Kõigi Hoodie-rakenduste täieliku korstnate väljatöötamise esimene samm on Hoodie käsurea tööriista kasutamine, et meid maast lahti viia:
hoodie new toptalCommunity
See loob initsialiseeritud Hoodie-rakenduse, millel on juba kood olemas, ja me saame oma rakendust juba käitada! Kui tippime
cd toptalCommunity hoodie start
brauser avaneb Hoodie meeskonna näidisrakendusega:
Tegin sel hetkel natuke majapidamist. Hoodie-rakendustega on praegu kaasas Bootstrap ja Prism, kuid võtsin pakutavad versioonid välja. Ma ei vajanud Prismat ja tahtsin kasutada omaenda Bootstrapi versiooni, et saaksin kasutada fonte ja JS-i, mida tahtsin kasutada. Rakenduse loomisel tegin mõned muudatused ka main.css-is, et anda sellele oma stiil ja võimaldada minu lihtsat alglaadimismalli. Ma kasutasin jQueryd ainult DOM-i manipuleerimiseks ja sündmuste jaoks. Hoodie hoolitseb kõige muu eest.
Selle näidisrakenduse loomise kallal mõistsin kiiresti kõiki Hoodie'ga töötamise eeliseid. Nii palju tavalisi küsimusi, mis vajavad projekti alustamisel vastust, polnud lihtsalt olemas. Hoodie lubas mul lihtsalt koodi kirjutada ja näha rakendust reaalajas ja töötamas.
Millist strateegiat peaksime kasutama kasutajakonto haldamiseks? Hoodie konto pistikprogramm on vastus. Kuidas peaksime oma andmeid taustaprogrammile salvestama? Hoodie surnud lihtne ladustamise API saab sellega meie jaoks hakkama, andes meile funktsiooni Offline First tasuta! Selle Hoodie rakenduse võrguühenduseta töötamiseks ei olnud vaja pingutada, see lihtsalt töötab.
Sukeldume mõnel rakendusel veidi sügavamale :.
Hoodie'l on pistikprogramm, mis hoolitseb meie eest kontohalduse eest hoodie-plugin-users
. API ei saa olla lihtsam.
Kuidas lisada uus kasutaja?
function signUp() { var email = $('#txtEmail').val(); var password = $('#txtPassword').val(); hoodie.account.signUp(email, password) .fail(function(err){ console.log('Log error...let the user know it failed'); }); }
Kuidas me kasutaja sisse logime?
function signIn() { var email = $('#txtEmail').val(); var password = $('#txtPassword').val(); hoodie.account.signIn(email, password) .fail(function(err){ console.log('Log error...let the user know it failed'); }); }
Kas meil on kasutaja sisse logitud?
if(hoodie.account.username) { // modify the page accordingly setUsername(); $('#lnkSignUp').hide(); $('#lnkSignIn').hide(); }
See ei saa tõesti lihtsam olla. Oota, oota ja kuidas meie kasutajaliides sellele kõigele reageerib? Kapuutsil on teie jaoks varuks üritusi
Reageerige kasutaja sisselogimisel:
hoodie.account.on('signin', function (user) { showMyEvents(); setUsername(); $('#lnkSignUp').hide(); $('#lnkSignIn').hide(); });
Meie näidisrakendus võimaldab kasutajatel luua oma sündmusi (isiklikke andmeid) ja neid soovi korral avaldada (andmete avalikustamine), et teised kasutajad saaksid sündmusega liituda.
Hoodie võimaldab meil lisada andmeid oma kohalikku poodi sisse logimata, nii et kuidas ta teab, millisele kasutajale need andmed kuuluvad? Noh, see hoiab seda kohalikuna ja ei sünkroonita serveriga enne, kui see kasutaja on sisse loginud. Hoodie tagab ka, et ainult see kasutaja suudab nende andmeteni jõuda.
Nii toimib see järgmiselt:
hoodie.account.signIn(email, password); //Let's sign in hoodie.store.add('myevent',event); //Store the data, hoodie takes care of using the session to make sure this data belongs to our user
See on nii lihtne! Ok, nii et see aitaks meil sündmust luua, kuidas me seda teistega jagame? Siin on global share plugin
aitab meid välja. Peame selle installima, kuna see pole vaikepistikprogramm:
hoodie install global-share
Nüüd on pistikprogramm paigas, kasutagem seda! Peame avaldama andmed, mille oleme juba oma kasutajapoodi lisanud, ülemaailmsesse poodi.
hoodie.store.findAll('event').publish();
See märgistab kõik selle kasutaja jaoks salvestatud sündmused avalikeks, nii et kui küsime globaalsest poest, saame need andmed tulemuseks.
hoodie.global.findAll('event'); //This is read-only
Lehel Minu sündmused saab kasutaja luua sündmusi, mis avaldatakse otse ülemaailmses poes.
var event = {}; event.name = $('#txtName').val(); event.date = $('#txtDate').val(); event.time = $('#txtTime').val(); hoodie.store.add('event',event).publish();
Avaldatud sündmused on kõigile nähtavad, nii et nüüd on igal kasutajal võimalik näha sündmuste lehel loodud sündmusi.
Mis saab siis andmetest, mis ei peaks olema avalikud? Salvestame sündmused, millele meie kasutaja on kandideerinud, ja kuvame need sündmuste lehel. Kui kasutaja klõpsab nuppu Rakenda, käivitatakse see:
var id = $(this).parent().parent().data('id'); hoodie.global.find('event',id) .done(function(event){ hoodie.store.add('myevent',event); });
Kaks alltoodud ekraanipilti näitavad kahte brauseriakent, mis töötavad samaaegselt. Esimeses brauseris on kasutaja sisse logitud kasutajana [meiliga kaitstud] kes on pöördunud Sündmus . Teises kasutaja [meiliga kaitstud] on sisse logitud ja on selleks pöördunud B sündmus .
Tellides mõnda Hoodie pakutavat sündmust, saame läbipaistvalt kasutada selliseid tehnikaid nagu pikk küsitlus, mis annab meie rakendusele huvitava võimaluse, kuna erinevad kasutajad kasutavad seda ja teevad sellega koostööd.
Seda on tõesti lihtne teha. Meie näidisrakenduses sai triki tehtud üks rida:
hoodie.global.on('add:event', loadEvent);
See lihtne rida hoolitseb serveri pika küsitlemise eest, et kontrollida uute sündmuste lisamist, mille teised kasutajad võivad lisada, ja lisada need lehele Minu sündmused.
Pärast selle näidisrakenduse loomist Hoodie ja selle esiotsa rakenduse arendusfunktsioonidega mängimiseks olen väga põnevil selle pakutava üle. Mõni selge teema jäi mulle siiski silma.
Hoodie muudab arendaja serveriga suhtlemise nii lihtsaks, et iga arendaja saaks lihtsalt konsooli abil asju meie andmebaasi lisada, millel on selgelt suured turvalisuse ja andmete terviklikkuse tagajärjed.
Raamatukogust on veel puudu palju olulisi asju, mida vajaksite mis tahes tootmisrakenduses, näiteks andmete valideerimine, linkitavad URL-id, testimisraamistik ja andmete privaatne jagamine (kuigi need on juba see viimane ). Hoodie tootmiseks praegu kasutamiseks peaksime selle siduma mõne muu lahendusega, näiteks AngularJS, Ember või paljude muude lahendustega, mis aitavad meil veenduda, et meil oleks Front-End projektide jaoks korralikult struktureeritud ja hooldatav JavaScripti kood. Kuna need raamistikud lähenevad tänapäeval ise taustatehnoloogiate keerukusele, lüüaks see lahendus suures osas Hoodie eesmärgi.
Hoodie on endiselt kõigi nende probleemide lahendamiseks tõsises arengus. Meeskond töötab uute funktsioonide juurutamiseks ja olemasolevate täiustamiseks kõvasti tööd, et muuta platvorm massitarbimiseks valmis ja loomulikult võtab see protsess aega. Kui plaanite praegu uut täismõõdus rakendust, võiksite selle leidmiseks leida mõne muu platvormi.
Vahepeal pole kindlasti veel liiga vara hakata Hoodie abil esirakenduste arendamisega nokitsema, nagu ma loodan, et ma just demonstreerisin. Hoodie'sse on juba sisse ehitatud palju võimsaid uusi ideid, mis minu arvates saavad tõenäoliselt väga populaarseks. Nende asjadega mängust ettepoole jõudmine pole ilmselt halb mõte.
Kui Hoodie meeskond jätkab rasket tööd, peaks API olema peamiseks ajaks valmis. Kui soovite jälgida Hoodie meeskonna edusamme, vaadake lihtsalt nende pilti verstaposti jälgija .
Hoodie lubab muuta kolimis- ja loksutajate jaoks suurepäraste rakenduste arendamise imelihtsaks. Kui Hoodie ideed endasse haaravad, võime iga uue projekti jaoks vajaduse luua tagatehnika arendajate meeskonna. Selliste projektide abil on lihtne ette kujutada esiotsa arendajate kuldaega mitte liiga kauges tulevikus. Samamoodi on võrguühenduseta esimese ideaali kasutajatele pakutavad eelised tohutu samm ligipääsetavuse jaoks, laiendades meie mobiilse ühendatud elustiili ulatust nendesse kohtadesse, kus Internet ise ei käi.
Pea üle Hoodie koduleht jälgida Hoodie edusamme ja saada osa uutest põnevatest muudatustest, mida ta sisse juhatab.
Eriline tänu Hoodie meeskonnale. Hoodie logo kasutatakse Hoodie Open Source projekti loal