Sviluppo Blog + Social Network - Quali tecnologie utilizzare?

PaperoQuaQua

Nuovo Utente
1
0
Buonasèèèèra

Sono qui a chiedere consiglio, perchè non sono molto esperto e probabilmente lo si noterà anche da quel che scrivo

Domanda: Quali tecnologie scegliere?

Richiesta: Blog + social network dove gli utenti possono chattare, scrivere documenti/articoli, aggiungersi agli amici, vedere ognuno il profilo dell'altro, caricamento foto, video, cercare utenti vicini, gestione privilegi degli utenti, etc etc

Altri requisiti:

_ gestire un numero consistente di richieste/connessioni (possibilità di scalare fino a 100k+ utenti online contemporaneamente)

_che risponda rapidamente alle richieste

_sicurezza ( non voglio che i miei dati vengano trafugati/distrutti, anche se immagino che qua non ci sia un vincitore netto, devo essere io capace ad implementare le soluzioni in modo da evitare i problemi di sicurezza più comuni)
Secondari
_ manutenibilità
_velocità di sviluppo

Le soluzioni che ho pensato dopo un po’ di scouting (DISCLAIMER: non conosco per esperienza diretta nessuna delle tecnologie seguenti, ma solo per quello che ho letto online):

Per non reinventare la ruota: WordPress per la gestione del blog

Per quanto riguarda il social, che sarà quello che poi avrà un maggior numero di traffico, ho pensato:



1) Plugin WordPress

Non conoscendo bene wordpress i miei dubbi sono:

quali sono i limiti dei plugin?

Potrei usare Buddypress ad esempio, per la gestione del social, ma si può estendere e modificare per funzionalità più custom? Dal punto di vista della licenza so che i plugin wordpress sono sotto licenza GPL quindi in teoria okay modifica e uso commerciale. Curiosita mia: potrei modificare Buddypress per crearne una mia versione per venderlo?

Se voglio funzionalità per le quali non esistono plugin, quanto è ostico lo sviluppo e integrazione di plugin con wordpress? Esempio: voglio trovare utenti vicini a me in base al gps, ma non esiste plugin che lo faccia, quindi devo farlo da solo.

Il FrontEnd è facilmente customizzabile?

Faccio per dire: se voglio mettere in mezzo alla pagina il bottone per aprire la pagina della funzionalità del GPS, è fattibile o WordPress mi limita in qualche modo?

Quanto se ne risente dal punto di vista prestazionale (velocità di risposta, numero di connessioni, richieste al secondo) nel fare uno sviluppo del genere, tutto basato su plugin e wordpress?

2) React + Node.js

Potrei tenere il Blog in Wordpress e legarlo ad una soluzione React + Node.js

React mi piacerebbe anche per la possibilità di avere un eventuale app sullo smartphone, che a quanto ho capito è abbastanza agile fare il passaggio, altrimenti può andare bene anche una soluzione altamente responsive (e qui ne so zero, quindi sono nelle vostre mani)

Node.js ne ho sentito parlare bene per gestione delle connessioni, velocità e anche per lo streaming video e le chat real time

Non è buono per calcoli complessi, ma è un social, sarà per lo più lettura e scrittura

Al massimo ci può essere un po' di manipolazione delle immagini/video per ridurne la qualità così da pesare meno

In più avrei FE e BE con lo stesso linguaggio e non dovrei impazzire, anche se c'è da considerare che avrei come blog WordPress che rimane comunque PHP (anche se a sto punto non ho bisogno di customizzazioni/sviluppi di plugin per il social perché ho tutto in React e Node)

Un problema che mi viene in mente però è: Wordpress gira su MySql o MariaDB mentre Node è piu utilizzato con DB NoSQL quindi magari potrei avere piu problemi di configurazione e la rottura di non avere direttamente un JSON di risposta dal DB che per Javascript sarebbe il top.

In ogni caso, meglio avere un DB per wordpress e uno per il social ? Oppure uno solo con piu server a reggerlo? Altre soluzioni?

3) React + PHP

Ho letto che viene sconsigliato Node.js perche molti framework nascono oggi e muoiono domani, quindi c’è bisogno di più manutenzione

Perché PHP invece di Node.js?

_è più veloce scrivere codice (?)
_perché non sarà veloce come Node.js nonostante le nuove versioni abbiano migliorato tanto le prestazioni ma è usato da anni e anni e online c'è una risposta per tutto
_perché va forte con db relazionali come MariaDB che è quello che verrebbe usato anche da WordPress
_perché dal punto di vista sicurezza, migliore di Node.js
_perché più forte nella gestione di calcoli piu complessi rispetto a Node.js (aka: manipolazione video/immagini)

Queste erano le mie idee.

Voi che soluzioni utilizzereste?

Per quanto riguarda server e hosting, avete qualche consiglio da darmi? Qualche soluzione cloud che paghi per quante risorse usi? (Ho visto che l’uso di risorse di Node.js è piuttosto basso)

Altro che non mi è venuto in mente?

Come decidere quando è necessario adottare soluzioni di load balancing? A questo posso pensarci anche successivamente o è bene iniziare a pensarci per giocare d’anticipo?

Grazie e complimenti per essere sopravvissuto al Wall of text
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!