Salut!
Eu impreuna cu doi tovarasi ne-am gandit sa facem o aplicatie care sa iti permita sa iti administrezi conturile bancare si pe langa asta ne gandeam sa mai facem doua trei alte functionalitati pentru ca cea mai buna metoda de a invata este sa lucram efectiv la un proiect.
Proiectul dorim sa fie cross platform: dorim sa avem atat o aplicatie de desktop cat si una mobile.
Ideea este ca ne lovim de anumite intrebari si anume:
Ne gandeam sa facem aplicatia pe desktop in c# iar backendul sa fie in python( django). Acuma aplicatia de mobile dorim sa o facem in react native si cum ar veni ne gandeam sa imparta acelasi backend ( sau mai corect zis sa foloseasca acelasi api) dar de asemenea pare tentant si nodejs si nu stim ce tehnologie sa alegem ca pe internet amandoua sunt laudate dar in practica ma gandesc si ca sunt la inceput ( nu am dezvoltat aplicatii foarte mari pana in prezent) si oarecum suntem nehotarati .
Ne gandeam sa facem si aplicatia de desktop poate in electron js pentru ca sa fie totul js dar din nou nu stim cat de buna e decizia
In ce am putea face designul aplicatiei de telefon??
Multumesc!
React/React native si backend in node/deno intr-un monorepo, asa poti scrie totul cu TypeScript.
Verifica prima data API-urile de open banking pe care vrei sa le folosesti, poate exista mai multe resurse pe un anumit limbaj.
Componente de react gasesti cautand dupa ant design, tailwind ui sau semantic ui.
Design-ul se face pe componente dupa un design, vezi ce inspiratie gasesti pe Google. Eu as folosi Adobe Xd.
ce nu are, tranzactii si structura, sunt niste cazuri un applicatii crypto a fost hack-uite in faliment prin timming atacks, pt ca nu are tranzactii si se bazeaza pe eventual consistency, plus ca most data e relationala, a fost mult marketing is fake it until you make it, around mongodb.
Exista un test faimos pt baze de date, mongo la picat de fiecare data, nu mai stiu cum se numbeste, testeaza concurency, corectitudinea datelor, acid, etc.
Nu e vorba numai de Mongo, in orice sistem daca intri suficient de adanc sigur gasesti un bug sau o problema care poate fi exploatata la o gresala de implementare. Totusi criteriul de alegere al unei tehnologii trebuie sa fie avantajul oferit nu faptul ca la un moment dat are un bug sau ceva…
acum o saptamana s-a mai lansat inca o aplicatie de banking competitie mare
acum …daca ati intrebat, e clar ca ar fi sinucidere sa incepeti sa lucrati la toate cele 3 aplicatii din start (web, mobile, desktop). Incepeti cu cea la care cunoasteti o tehnologie cat mai bine.
In primul rand “so they claim” in al doilea rand nu e chiar asa, orice system are bug-uri, cand vb de data integrity nu e cu “las ca merge si asa” alte baze de data au trecut testele, eu nu prea am vazut avantajul mongo, la un moment dat nimeni nu mai stie ce e in baza aia de date, care sa umfla pt ca nu are denormalizare.