Dietro ogni idea tecnologica c'è qualcuno o un gruppo di persone che vuole cambiare lo status quo, cambiare il mondo o dare vita alle proprie idee. In alcuni casi, mancano le competenze tecniche di base necessarie per raggiungere questo obiettivo. Un annuncio: "Costruisci ciò che vuoi senza codice" è apparso sui nostri schermi e ci siamo iscritti. Queste soluzioni software no-code e low-code possono essere una manna per le aziende, dando potere alle persone non tecniche e democratizzando la tecnologia. È un momento di grande vitalità! Arriva il software personalizzato, i cui sviluppatori si fanno pagare tra i 50 e i 150 dollari all'ora. Questi sviluppatori sono persone come me con diverse competenze ed esperienze, ma perché pagare così tanto quando possiamo pagare meno? Proviamo le piattaforme no-code.
La soluzione No-Code
Si può notare una piccola guerra tra sviluppo di software low-code, no-code e personalizzato. La gente crede che le prime mogli siano meno costose. Così, quando gli imprenditori vogliono costruire, prendono in considerazione una "prima moglie" - una soluzione no-code per risparmiare tempo e costi. È possibile creare facilmente applicazioni e siti web in pochi minuti e senza scrivere alcun codice! Chi non vorrebbe risparmiare denaro e tempo? Inoltre, le soluzioni no-code ci fanno sentire professionisti e innovare senza aspettare gli sviluppatori. Possiamo facilmente trascinare e rilasciare le funzionalità di un sito web o di un'applicazione, importare, esportare e molto altro ancora, senza dover ricorrere a complessi ragionamenti logici. Dopo alcuni utilizzi, c'è un senso di vuoto che si consuma completamente. Probabilmente non è la piattaforma giusta su cui costruire. Lo è? Come posso scalare questa piattaforma? Il risultato desiderato è lontano dalla portata, troppo vincolante... Voglio dire, troppo rigido e restrittivo, ahimè! Le soluzioni no-code non sono state all'altezza delle aspettative. Qual è probabilmente la prossima opzione?
La soluzione Low-Code
Una seconda moglie. Vedete, la poligamia non è poi così male. Se pensate di poterne uscire vivi, vi consiglio una "seconda moglie", una soluzione low-code. Ci fanno sentire in controllo dei nostri affari. Ciò consente di ottenere risultati di qualità superiore, poiché non si perde la competenza in materia in un tira e molla, a differenza della prima. Le soluzioni low-code velocizzano l'innovazione, il time to market e richiedono solo una piccola quantità di codice. Mentre ci godiamo tutti i vantaggi, non sappiamo che stiamo costruendo un castello in riva al mare. Poiché alcuni blocchi di codice sono bloccati in componenti visivi che l'utente può manipolare, non sono scalabili e sono intrinsecamente più restrittivi del codice sottostante.
Il problema più comune delle soluzioni no/low-code è che non possono produrre i risultati desiderati a lungo termine. Le aziende hanno visioni e missioni diverse. Ma una cosa è certa: tutte vogliono crescere, scalare ed espandersi. La soluzione low/no-code sarà in grado di scalare con voi? E la complessità del software? Chi è il proprietario di questi codici? È necessario pagare ogni mese o ogni anno? Ci sono diversi fattori da considerare quando si sceglie una soluzione low/no-code rispetto allo sviluppo di software personalizzato. Alcuni di questi sono:
Privilegi di accesso:
La maggior parte delle soluzioni low-code ha un'area predefinita dove si trovano le connessioni alle fonti di dati, ai servizi SAAS e Cloud, ecc. Questo ambiente predefinito le rende soggette a difetti, difetti di progettazione e vulnerabilità di sicurezza. D'altra parte, le applicazioni no-code e low-code non hanno una propria identità. Utilizzano l'identità del proprietario. Per proprietario intendo i proprietari di queste soluzioni. Anche se questa potrebbe essere un'opportunità per qualcuno di fornire un servizio di identità alle soluzioni no-code e low-code, sfortunatamente quasi tutte le app no-code e low-code utilizzano le proprie credenziali utente, quindi non c'è bisogno di un servizio di identità. Ciò significa che quando un utente accede a un'applicazione low-code o no-code, accede anche alle sue credenziali sottostanti. Questo è un modo perfetto per infrangere i limiti di autorizzazione e accedere ad alcune pagine o risorse a cui solo gli amministratori dovrebbero avere accesso, con o senza credenziali utente. La vulnerabilità consente agli aggressori di modificare anche i loro privilegi.
Perdita di dati:
Le soluzioni no code e low code si basano in gran parte su funzioni di trascinamento e automazione, sullo spostamento dei dati da un punto A a un punto B e sulla connessione di strumenti e processi di terze parti. Questo crea spazio per lo spostamento di dati in luoghi non autorizzati o per lo spostamento di dati in servizi non autorizzati (ad esempio, shadow IT).
Autenticazioni deboli:
Il software costruito su soluzioni low-code e no-code non ha alcun controllo sull'autenticazione perché è stato costruito su un altro software che contiene dati aziendali critici. Cambiare una scheda a destra o a sinistra non significa avere il controllo, perché le connessioni alle fonti di dati sono definite dai proprietari di no-code e low-code. Inoltre, non tutte le persone che stanno dietro alle soluzioni low-code e no-code sono esperte nel loro campo. Alcuni sono citizen developers e semplici operazioni possono farli tornare a usare HTTP piuttosto che HTTPS, creare cifrature deboli, ecc. Quindi, quale altra opzione abbiamo?
Sviluppo di software personalizzato
Costruire da zero è molto più che scrivere qualche riga di codice: vedetelo come un corpo vivente. Definite a cosa servirà e pianificate ogni funzionalità, ogni aspetto e ogni fase. Costruire da zero è stato pensato come la prima moglie, ma non è detto che lo sia. A prescindere da come la si pensi, è necessario pianificare, documentare e testare adeguatamente ogni fase per ridurre i bug che producono risultati inaspettati, come l'attivazione del software per fare cose per cui non è stato progettato. "Vorrei costruire un'applicazione simile a Facebook". "Penso che Instagram sia bello, voglio un'app di Instagram ma per gay, lesbiche e non gender..." l'elenco continua... Ho letto molte di queste idee di progetto. Non importa quanto grande o piccolo sia un progetto software personalizzato, questo progetto ha bisogno di una descrizione dettagliata perché diverse cose devono essere chiarite prima di scrivere il primo codice per aiutare sia lo sviluppatore a sapere cosa costruire sia il datore di lavoro a sapere cosa aspettarsi. Lo sviluppo di software personalizzato ha i suoi svantaggi, come l'assunzione di professionisti per costruire il vostro software personalizzato, ed è più costoso e richiede più tempo.