Zadejte hledaný výraz...

Vyber technologii, techstack

trkvas
verified
rating uzivatele
29. 7. 2020 10:49:26
Zdravim,
najblizsie mesiace budem programovat taky moj projekt. Potreboval by som poradit ohladom technologii, ktore budem pouzivat.
Venujem sa prevazne mobilnym appkam, takze tam to je jasne, ze to bude nativna appka napisana v Kotline.
Dalej budem potrebovat backend(databaza, API). Do databazy budem potrebovat ukladata slovicka a ich preklady, uzivatelov a nejake statistiky na zaciatok.
Neviem aku databazu mam zvolit, ci NoSQL alebo SQL. Mozno na nejake slovicka a key value data by postacovala aj NoSQL.
Na ten backend by som chcel napojit web a chrome extension. Predpokladam, ze chrome extension sa robia v JavaScripte a na web by som pouzil bud Vue, Angular alebo React. Web by bol celkom jednoduchy, nejake flashcards, statistiky a tak... Neviem, ktory framework by bol idealny, nikdy som s tym nerobil, budem sa to v podstate ucit. Idealne taky, kde treba co najmenej CSSka.
Pri tom backende mam taku dilemu, co pouzit. Bude to v podstate pre mna taka novinka, len trochu som sa hral s Flaskom ale to by som nebral moc do uvahy. V podstate vsetko ostatne bezi na JS okrem Android appky. Ma teda vyznam si na backend vybrat Node.js ? Nemam s tym ziadne skusenosti, je to vyhoda ked vsetko bezi skoro na jednom jazyku ? Rozmyslal som aj na Flask/Django ale celkom ma laka aj ten Node kedze to je v JS. Ale som otvoreny vsetkym moznostiam .NET, Spring.... Poslite mi vase typy.
Zhrniem to:
Android App - Nativna appka v Kotline
Chrome Extension - JavaScript (neviem ci sa to da robit v niecom inom)
Web - Vue, Angular alebo React a to je tiez JavaScript
Databaza - SQL / NoSQL ? - neviem co je vhodnejsie, pripadne nejake konkretne typy
Backend - dilema aky jazyk a framework pouzit
Vsetko to budem kodit sam, je to projekt do skoly ale chcem to posunut na vyssiu uroven a releasnut to. Ak to nevyjde aspon sa nieco naucim. Dakujem za odpovede.
29. 7. 2020 10:49:26
https://webtrh.cz/diskuse/vyber-technologii-techstack#reply1458808
TomasX
verified
rating uzivatele
(4 hodnocení)
29. 7. 2020 11:18:34
Zapomeň na rozlišování SQL vs NoSQL, je to pouze marketing, který vznikl uměle :). NoSQL se dnes naučilo SQL a naopak tradiční SQL databáze se naučily lineárně škálovat ploché tabulky. Spíše to rozlišuj na RDBMS jako relační databázi a DBMS jako jakoukoliv databázi, tj. SW, který pracuje s uspořádanými daty, které umí dotazovat a ukládat.
Za mě se pro tebe jako backend hodí nějaká cloudová databáze, pěkně třeba funguje firebase od Google s jeho functions (hosting, který ti spustí tvůj kód až když příjde požadavek), https://firebase.google.com/docs/functions, měsíční náklady mohou být v centech, záleží jak moc se to bude používat. Celé používání je poměrně snadné https://css-tricks.com/build-a-100-serverless-rest-api-with-firebase-functions-faunadb/ a nemusíš spravovat žádný server a hledat jiné služby.
Podobně může fungovat třeba Aurora nad Lambdou u AWS. Pro tebe jednoduché řešení může být i použití nějakého mongo jako služby, https://mlab.com/, pro tvoje objemy by to asi bylo i zadarmo. V Českém prostředí asi nic takovém k dispozici není, takže bys musel vzít klasický webhosting (pár korun měsíčně), pak si v php napsat API rozhranní a data ukládat do mysql.
Při budování takového api si dej pozor na zabezpečení, nechceš, aby ti mohl kdokoliv jakkoliv ukládat a přepisovat data v databázi, pak se velice rychle objeví ti špatní a začnou toho zneužívat. Zkus se nad tím zamyslet, načíst jaké řešení se používají...
29. 7. 2020 11:18:34
https://webtrh.cz/diskuse/vyber-technologii-techstack#reply1458807
trkvas
verified
rating uzivatele
29. 7. 2020 11:45:01
Napsal TomášX;1592077
Zapomeň na rozlišování SQL vs NoSQL, je to pouze marketing, který vznikl uměle :). NoSQL se dnes naučilo SQL a naopak tradiční SQL databáze se naučily lineárně škálovat ploché tabulky. Spíše to rozlišuj na RDBMS jako relační databázi a DBMS jako jakoukoliv databázi, tj. SW, který pracuje s uspořádanými daty, které umí dotazovat a ukládat.
Za mě se pro tebe jako backend hodí nějaká cloudová databáze, pěkně třeba funguje firebase od Google s jeho functions (hosting, který ti spustí tvůj kód až když příjde požadavek), https://firebase.google.com/docs/functions, měsíční náklady mohou být v centech, záleží jak moc se to bude používat. Celé používání je poměrně snadné https://css-tricks.com/build-a-100-serverless-rest-api-with-firebase-functions-faunadb/ a nemusíš spravovat žádný server a hledat jiné služby.
Podobně může fungovat třeba Aurora nad Lambdou u AWS. Pro tebe jednoduché řešení může být i použití nějakého mongo jako služby, https://mlab.com/, pro tvoje objemy by to asi bylo i zadarmo. V Českém prostředí asi nic takovém k dispozici není, takže bys musel vzít klasický webhosting (pár korun měsíčně), pak si v php napsat API rozhranní a data ukládat do mysql.
Při budování takového api si dej pozor na zabezpečení, nechceš, aby ti mohl kdokoliv jakkoliv ukládat a přepisovat data v databázi, pak se velice rychle objeví ti špatní a začnou toho zneužívat. Zkus se nad tím zamyslet, načíst jaké řešení se používají...
Ďakujem za tip, musim si teda viac naštudovať to NoSQL a SQL.
Z Firebase a Cloud Firestore práve robím teraz jednu appku pre klienta. Možno aj to by bolo riešenie. Ale čo potom keď by som to chcel potom niekde premigrovať, škálovať, robiť si nejaké vlastne features... Neviem či by to bolo jednoduché...
29. 7. 2020 11:45:01
https://webtrh.cz/diskuse/vyber-technologii-techstack#reply1458806
TomasX
verified
rating uzivatele
(4 hodnocení)
29. 7. 2020 12:14:23
jdi jednoduchou cestou a pak tam funkce přidávej. Zmigrovat to většinou není problém, lehce upravíš datovou vrstvu u aplikace a použiješ jiné api/službu. Často chyba bývá dělat předčasnou optimalizaci a snažit se vymyslet všechny i nepotřebné varianty do budoucna. Napiš si funkce, které tam teď chce a podle nich vyber, jak to uděláš. Až se rozhodneš přidat nové funkce, můžeš tuhle variantu znovu zvalidovat...
29. 7. 2020 12:14:23
https://webtrh.cz/diskuse/vyber-technologii-techstack#reply1458805
Pro odpověď se přihlašte.
Přihlásit