|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Aug 2010
Messaggi: 88
|
Aiuto scelta tecnologia per sviluppo portale web
Buongiorno a tutti,
ho la necessità di sviluppare un portale web le cui funzionalità principali saranno un forum non di tipo classico in cui gli utenti aprono discussioni ma sarà un listone di messaggi visualizzati tutti nella stessa pagina in ordine cronologico e caricati man mano che l'utente scrolla verso il basso. L'utente può postare un nuovo messaggio o commentare un messaggio esistente. Ci saranno alcune sezioni in cui verranno visualizzati dei dati in tempo reale ottenuti tramite REST API, tali dati dovranno essere aggiornati a intervalli di tempo molto breve tipo 2-3 secondi, alcuni saranno solo numerici altri sotto forma di grafico. Non sarà quindi un sito web statico ma avrà una forte componente real time. Sono molto combattuto sulla scelta della tecnologia, ho molta esperienza in ambito .net ma poca per quanto riguarda il mondo web, ho un pò di esperienza nello sviluppo di siti web aziendali in Asp.net quindi programmazione lato server ma non sono sicuro possa essere la scelta giusta per questo tipo di portale. Ho dato uno sguardo ai vari framework tipo Angular e React, possono essere una valida soluzione? Potrei tranquillamente sviluppare tutte le API necessarie in .net e studiarmi uno di questi framework per il front-end. Per quanto concerne lo sviluppo lato client del front-end in che modo viene garantita la sicurezza con questi framework?
__________________
CASE:Cooler Master Mastercase pro5 MB:Asus Maximus VIII hero CPU:i7 6700k RAM:Corsair platinum 16Gb DDR4 3000Mhz VGA:msi gtx 1080 gaming x AUDIO:Creative sound blaster Z SSD:2 x Samsung 850 evo 256Gb HD:WD 2Tb black PSU:Corsair hx850i CPU COOLER:Corsair h100i V2 HEADSET:Sennheiser Game one Origin: GSGames18 |
![]() |
![]() |
![]() |
#2 | |||
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Quote:
Quote:
Dipende cosa intendi per sicurezza. Login? Quello è gestito server-side con i soliti cookie. |
|||
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Aug 2010
Messaggi: 88
|
Ciao pabloski innanzitutto grazie per la risposta. Valuterò sicuramente le soluzioni che hai proposto, il requisito fondamentale è tenere elevato il grado di prestazioni, deve essere veloce e non inchiodarsi subito con 200 utenti collegati in contemporanea. Per il backend pensavo inizialmente a API in .net con Entity framework per gestire il layer di accesso ai dati ma dubito riesca a soddisfare questo requisito.
Per sicurezza intendo per esempio la gestione dei ruoli utenti, un amministratore avrà accesso a funzioni che l'utente non può vedere, dato che la logica di mostrare o meno queste funzioni sarà lato client, in che modo si può evitare che un malintenzionato riesca a vedere gli strumenti di un amministratore? Ok che poi ci sarà un controllo lato server e l'utente non riuscirà comunque ad utilizzarli ma questa cosa non mi piace molto ![]()
__________________
CASE:Cooler Master Mastercase pro5 MB:Asus Maximus VIII hero CPU:i7 6700k RAM:Corsair platinum 16Gb DDR4 3000Mhz VGA:msi gtx 1080 gaming x AUDIO:Creative sound blaster Z SSD:2 x Samsung 850 evo 256Gb HD:WD 2Tb black PSU:Corsair hx850i CPU COOLER:Corsair h100i V2 HEADSET:Sennheiser Game one Origin: GSGames18 |
![]() |
![]() |
![]() |
#4 | |||
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Se questo è il requisito, la scelta obbligata è Go. Sul web si trovano parecchi articoli con benchmark che mostrano come Go asfalta tutti soprattutto nei carichi con elevata concorrenza. Quote:
E' questa la situazione generale. Per quanto .Net Core sia un ottimo ambiente, ecc... ecc..., Go li asfalta tutti!! Quote:
In teoria potresti distribuire dei client diversi per i vari ruoli, nel senso che il client per l'amministratore potrebbe fare uso di api particolari. Una sorta di security through obscurity, ma non ci farei tanto affidamento. La crittografia asimmetrica sarebbe una possibilità, sempre che il nostro hacker non riesca ad impadronirsi della chiave privata dell'amministratore. Cioè il client usa la chiave privata per cifrare le comunicazioni dell'amministratore. Il server usa la chiave pubblica per decifrarle. Però è un meccanismo parecchio articolato per un problema che ha una soluzione più semplice, implementando l'autenticazione server-side tramite cookie. Ovviamente sto supponendo che comunque tutte le comunicazioni avverranno su protocollo https, condizione necessaria visoi i tempi che corrono. |
|||
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Aug 2010
Messaggi: 88
|
Grazie di nuovo risposta molto esauriente. Ho ancora una domanda per quanto riguarda il tipo di hosting cosa mi consiglieresti per Google go? Ho già un account Azure, una macchina virtuale Windows può andare bene o è più adatta una basata su Linux?
Database SQL?
__________________
CASE:Cooler Master Mastercase pro5 MB:Asus Maximus VIII hero CPU:i7 6700k RAM:Corsair platinum 16Gb DDR4 3000Mhz VGA:msi gtx 1080 gaming x AUDIO:Creative sound blaster Z SSD:2 x Samsung 850 evo 256Gb HD:WD 2Tb black PSU:Corsair hx850i CPU COOLER:Corsair h100i V2 HEADSET:Sennheiser Game one Origin: GSGames18 |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
E non è detto che debba essere sql...Ma andrebbero fatto un pò di conti sui pattern di accesso al db da parte del software del forum. In quanto a database sql, io preferisco ormai da anni Postgresql. Mysql è in genere il preferito in ambito web, ma ha fin troppe limitazioni ( molte eliminate nel tempo ). |
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Aug 2010
Messaggi: 88
|
Si ma conosco bene l'ambiente Windows e dato che dovrò anche sviluppare delle routine che gireranno su server come operazioni pianificate se non ci sono differenze sostanziali di prestazioni preferisco un server Windows così da sviluppare in .net. Vorrei evitare di dover installare Mono ecc...
__________________
CASE:Cooler Master Mastercase pro5 MB:Asus Maximus VIII hero CPU:i7 6700k RAM:Corsair platinum 16Gb DDR4 3000Mhz VGA:msi gtx 1080 gaming x AUDIO:Creative sound blaster Z SSD:2 x Samsung 850 evo 256Gb HD:WD 2Tb black PSU:Corsair hx850i CPU COOLER:Corsair h100i V2 HEADSET:Sennheiser Game one Origin: GSGames18 |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
|
|
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Aug 2010
Messaggi: 88
|
Perfetto per ora hai chiarito tutti i miei dubbi, nel caso tornerò con altre domande
![]() Grazie mille
__________________
CASE:Cooler Master Mastercase pro5 MB:Asus Maximus VIII hero CPU:i7 6700k RAM:Corsair platinum 16Gb DDR4 3000Mhz VGA:msi gtx 1080 gaming x AUDIO:Creative sound blaster Z SSD:2 x Samsung 850 evo 256Gb HD:WD 2Tb black PSU:Corsair hx850i CPU COOLER:Corsair h100i V2 HEADSET:Sennheiser Game one Origin: GSGames18 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:17.