
NAPOMENA: svibanj 2018 .: Čitanje s TypeORM na LoopBack: Retrospektivaza ažuriranu perspektivu!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ovaj članak pregledava rješenja objektnog relacijskog mapiranja (ORM) u ekosustavu JavaScript i identificira idealno rješenje na temelju specifičnih zahtjeva.
Što je ORM i zašto je toliko važan?
ORM rješenja korisna su za olakšavanje razvoja API-ja vođenog podacima. Korisnici imaju konkretne potrebe koje pokreću podatkovni model aplikacije. U naslijeđenom se razvoju ova arhitektura podataka obično implementira i kontrolira verzijom pomoću skripti baze podataka kao što su SQL skripte. Zatim se zasebna knjižnica koristi za poslužiteljsku aplikaciju za izvršavanje CRUD akcija u bazi podataka.
ORM-ovi rade kao API visoke razine za izvršavanje CRUD-a, a danas nam kvalitetni ORM-ovi također omogućuju inicijalizaciju podataka putem koda. Složena manipulacija podacima, čišćenje i tako dalje često je jednostavnija u kodu. Iako postoje izdvojeni alati Extract, Transform and Load (ETL), isti se ETL zadaci mogu lako implementirati u ORM.
Implementacija izdvajanja, transformacije i učitavanja kodom omogućuje sustavu lakšu integraciju podataka iz vrlo različitih izvora. SQL baze podataka s više okusa, NoSQL podaci, podaci datotečnog sustava i podaci treće strane mogu se integrirati u jedan jezik s JavaScript ORM-om.
Konačno, kontrola podataka orijentirana na kôd također omogućuje sustavu da implementira upotrebu podataka u vrijeme izvođenja ili u procesu izrade i fleksibilno prilagođava upotrebu tijekom procesa razvoja prema potrebi.
Da se ponove, ORM-ovi poboljšavaju produktivnost programera pružajući API na visokoj razini, na jednom jeziku, s funkcionalnošću koja bi tradicionalno zahtijevala nekoliko različitih alata i skupova vještina. Manje potreba za vještinama, potrebnim alatima i potrebnim satima olakšava maržu projekta. Nepredviđeni zahtjevi i vremenski slijed projekta bolje se pripremaju fleksibilnom konfiguracijom podataka za izradu i vrijeme izvođenja.
Poželjne ORM mogućnosti
Konkretni kontekst projekta koji dovodi do ovog pregleda ORM-a zahtijeva implementaciju vrhunske univerzalne JavaScript aplikacije nalik CMS-u.
Vrhunski univerzalni JavaScript okviri dolaze u osnovi u 3 okusa: Angular, React i Vue. To će reći Angular Universal, Next i Nuxt.
Čvor izvorno podržava operacije datotečnog sustava, tako da zahtjevi za podacima sustava upravljanja sadržajem daju prednost širokoj podršci baze podataka. Ukupno se uzimaju u obzir sljedeći zahtjevi:
- Podrška za Mongo i MySQL, uz prednost dodatnim opcijama
- Integrirajte se s Webpackom
- Integrirajte se s Expressom
- Minimalan broj pogodaka za vrijeme izvođenja
- Intuitivna sintaksa
- Dodatne značajke
- Visok omjer zvijezde i emisije Github
- Aktivno se održava bez kvarova u gradnji ili zastarjelih ovisnosti
Kandidati i rezultati
Svaki je kandidat dobio ocjenu između 0 i 10 za svaku željenu sposobnost. Ocjena 5 znači prihvatljivo. Prosjek za stupac može biti više ili manji od 5. Na primjer, ORM s podrškom za više NoSQL baza podataka i bez podrške za bilo koju SQL bazu podataka dobit će ocjenu između 2 i 4. 0 ukazuje na potpuni nedostatak značajke.

Posebna vika za joi, pg i knex. Te knjižnice nisu pune ORM-ove, ali sjajne su u onome što rade. Ako vam nije potreban potpuni ORM, pogledajte i pogledajte mogu li odgovoriti na vaše potrebe.
Zaključak
Ukupni iznosi odražavaju ukupnu korisnost svakog rješenja. Top 5 rezultata bili su:
- Loopback
- Waterline
- Mungos
- TipORM
- Sekvelizirati
Kombinacija potreba specifičnih za projekt, izostavljenih čimbenika i osobnih preferencija dovodi do tri najbolja izbora.
Waterline je jako integriran u okvir Sails i Mongoose podržava samo MongoDB.
Sequelize i NodeORM2 ograničeni su na SQL i nedostaje im generiranje API-ja.
Zahvaljujući TypeScript sintaksi, TypeORM se lijepo integrira s Angular projektom.
Kao programer, preporučujem izradu prototipa više od jednog vrhunskog rješenja za prepoznavanje pravog pobjednika. Tri najbolja rješenja, koja su svi kandidati za izradu prototipa, uključuju:
- Loopback
- TipORM
- Caminte
Te sam podatke poslao drugim programerima na projektu i kao tim odlučili smo prvo isprobati TypeORM. Provjerite kasnije za retrospektivu!
Što mislite o ovom rezultatu? Ostavite komentar ili dodajte svoje mišljenje ovoj usporedbi Slant.