» »

Kompleksni spletni IT projekti

Kompleksni spletni IT projekti

renkod ::

Katere veščine rabim, kadar želim pisati kompleksne spletne strane?
Morda Domain Driven Design? Sam programiram že vrsto let za hobi.
In npr. povezava logike z upo. vmesnikom lahko rata precej kompleksna,
saj je potrebno predvideti v neki točki vse situacije. In diagram poteka je pri srednje ali bolj
obsežnih aplikacijah ogromen, če bi ga šel risati. Vem da je trik v tem,
kako se lotiš zadeve oz. na kakšen način pišeš kodo. Ali se naj
naučim kakšen front-end framework, kot je Angular? Na backendu drugače
uporabljam MVC ogrodja in tam nimam težav z pisanjem pregledne kode, ki je
CRUD (create-read-update-delete) koda za bazo.
  • spremenil: renkod ()

Ahim ::

renkod je izjavil:

Katere veščine rabim, kadar želim pisati kompleksne spletne strane?
Morda Domain Driven Design? Sam programiram že vrsto let za hobi.
In npr. povezava logike z upo. vmesnikom lahko rata precej kompleksna,
saj je potrebno predvideti v neki točki vse situacije. In diagram poteka je pri srednje ali bolj
obsežnih aplikacijah ogromen, če bi ga šel risati. Vem da je trik v tem,
kako se lotiš zadeve oz. na kakšen način pišeš kodo. Ali se naj
naučim kakšen front-end framework, kot je Angular? Na backendu drugače
uporabljam MVC ogrodja in tam nimam težav z pisanjem pregledne kode, ki je
CRUD (create-read-update-delete) koda za bazo.

Tole se bere kot cvetke, katere sestavlja "AI".

Cupakabra123 ::

Za moderne spletne aplikacije rabis za zacetek le znanje

Enega moderenega frameworka (Angular, React, Vue, Svelt, ...). Razne jQuery-je poslji k hudicu kamor spada.
CSS preprocessor (SASS, LESS, ...)

Potem pa opcijsko kak Tailwind, SSR, ...

genesiss ::

Kompleksni IT projekti uporabljajo množico različnih tehnologij in konceptov. Veliko poudarka je na integracijah z zunanjimi sistemi, komunikacijskimi vzorci med moduli sistema, upravljanjem z napakami, orekstracijo kompleksnih poslovnih procesov, zagotavaljanju odzivnosti sistema, modularnosti sistema...

Ne vem točno kaj si pa ti predstavljaš kot kompleksna spletna stran? Npr. Facebook ali Linkedin? Mimovrste, Spletna Banka? Pri vseh teh stvareh je spletna stran v bistvu češnja na torti, pod tem je pa ogromno enih rešitev in arhitekturnih vzorcev ki povezujejo vse skupaj.

Zgodovina sprememb…

  • spremenil: genesiss ()

strawman ::

Ali se ne skriva kompleksnost modernih spletnih aplikacij (Google Apps, FB...) bolj v geografski distribuiranosti in visoki dosegljivosti pri najmanjši možni ceni, kot pa v sami implementaciji?

kuall ::

SQL je najbolj pomemben jezik.
Ko greš npr pisat spletno trgovino lahko striktno ločiš kodo na SQL in na Web del. SQL najprej napišeš in ga stestiraš čisto ločeno, vsebuje tudi vso najbolj pomembno logiko.
Pri web delu pa je zadnje cajte popularen ajax oz. web servisi v kombinaciji z javascriptom, da nalagaš iz baze podatke dinamično.
Potem je čist svoj in pomemben del grafično oblikovanje strani, tega pa tebi kot programerju ne priporočam ampak najemi koga oziroma najdi kak vnaprej pripravljen skin, ki ga malenkost modificiraš, ali pa še bolje pustiš pri miru.

Zgodovina sprememb…

  • spremenilo: kuall ()

LukiYo ::

Sql in logika ne gre dobro skupaj, logika naj bo kar lepo del APIja oz DDDja, sql pa za CRUD, pa se tega ni treba, ce uporabljas EF, pises LINQ.

OP je kar na pravi poti, predlagam mu pa .NET Core API za backend + Svelte za frontend, namesto Reacta, Angularja, itd Zakaj Svelte? Ker je primerljiv z omenjenima, a veliko enostavnejši in hitrejši, tako za razumet, kot za samo delo.

Zgodovina sprememb…

  • spremenilo: LukiYo ()

kuall ::

logika mora biti v sql, da lahko vrneš samo podatke, ki jih rabiš. če nočeš logike v sql bi moral sql vrniti nepotrebne podatke in jih potem v C# filtrirati? si res ne predstavljam tega.

linq je pač ena oblika sql, nek wrapper, jaz wrapperjev ne maram, če niso res nujni.

Choc ::

LINQ in EF je odličen, ker lahko enostavno narediš unit teste, ki vključujejo DAL nivo.

kuall ::

se da bp napisat unit teste v pure sql.

Choc ::

InMemory SQLite?

Choc ::

Pri EF se da enostavno narediti in-memory teste, kjer testiraš enake LINQ expressione kot bi se izvajali na pravem sistemu v produkciji.

Načeloma se bi dalo podobno testirati SQL z in-memory SQLite, dokler uporabljaš standardni SQL, brez kakšnih DB2/Oracle/SQL Server/Postgres posebnosti.

Invictus ::

Ogromno logike se da napisati v SQL, vprašanje kdaj je kaj smiselno.

Ko delaš na projektih, pa vidiš da mariskateri "stručko" ne zna narediti JOIN tabel in potem to dela v kodi... Skupaj z večimi simple sdostopi do baze.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

win64 ::

Invictus je izjavil:

Ogromno logike se da napisati v SQL, vprašanje kdaj je kaj smiselno.

Ko delaš na projektih, pa vidiš da mariskateri "stručko" ne zna narediti JOIN tabel in potem to dela v kodi... Skupaj z večimi simple sdostopi do baze.


Samo to ni problem tehnologije, ker join stavek se da tudi v linq napisat. To je problem, da "štručkoti" ne poznajo osnov oziroma so naravnani na način, samo da dela. Ko ne dela so pa problemi...

Na odgovor OP-a pa, spletno aplikacijo se po mojem mnenju napiše tako:
- Vsebinsko dokumentirati procese(kdo, kako in kaj bo delal)
- Tehnično definirati procese(viri podatkov, validacije, ..)
- Definirati in ustvariti modele in servise katere bo spletna aplikacija uporabljala.
- Ko so enkrat modeli in servisi nastavljeni(ne nujno implementirani) se lahko ločeno razvija tako frontend kot backend. Backend bo razvit kot servisi v ozadju in API-ji za komunikacijo. Frontend pa nekaj, kar bo večinoma skrbelo samo za avtentikacijo, validacijo uporabniških vnosov in komunikacijo z backend sistemom. V frontendu naj se ne bi nič obdelavalo.

Kako boš implementiral backend, API-je in frontend je pa prosta izbira. Pisanje backend logike izključno v SQL prinaša nekaj prednosti(transakcije na nivoju baze recimo), ampak boš pa nekaj izgubil na račun hitrosti razvoja in vzdrževanja.

kuall ::

win64 je izjavil:

V frontendu naj se ne bi nič obdelavalo.

kako da ne? javascript dandanes na veliko obdeluje in ima lahko veliko logike, ni pa to glavna logika. predvsem logika prikazovanja podatkov uporabniku, kar se tiče user interface, ki tudi ni tako simple.

win64 je izjavil:

Pisanje backend logike izključno v SQL prinaša nekaj prednosti

saj ni logika izključno v sql, jaz pravim čim manj, ker sql je v resnici dokaj beden jezik.
ampak si prisiljen veliko logike dat v sql zaradi hitrosti delovanja kode.

win64 ::

Obdelava v smislu, da boš recimo na Frontendu obdeloval excel datoteko z 1000 zapisi, ki ti jih uporabnik naloži.
V frontendu se programira uporabniški vmesnika - ja. In tudi javascript lahko pride zelo kompleksen.

AndrejS ::

Vsi se na neki SQL obešate - kompleksne strani uporabljajo SQL in NOSQL baze, tudi redis in še druge tehnologije.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C# in baze] - Nasvet

Oddelek: Programiranje
211438 (787) HotBurek
»

[JavaScript] Začetniško učenje

Oddelek: Programiranje
281981 (1202) programos11
»

postavitev spletne strani in domene.com

Oddelek: Izdelava spletišč
283013 (1658) FireSnake
»

HTML in SQL pomoč (strani: 1 2 )

Oddelek: Programiranje
517249 (6127) def0r

Več podobnih tem