No-Code Platform, cosa sono?
Se sei una piccola azienda che non ha un budget necessario per poter acquistare dei servizi da web developer o da intere software house, le piattaforme no-code sono una delle più valide alternative che hai.
Usare una piattaforma no-code ti permette di risparmiare tempo e soldi. Molte di queste piattaforme riescono anche a fornire all'utente medio un set di corsi per l'utilizzo dei propri tool, cosi da poterne ottimizzare l'utilizzo con il minimo sforzo.
Altre piattaforme di questo genere hanno anche la capacità di poter integrare un workflow capace di gestire le tue applicazioni sotto un punto di vista logico, andandone a definire persistenza, gestione della logica di business, gestione della presentazione dei contenuti e tanto altro ancora.
Inoltre, è possibile integrare in maniera diretta e semplice anche API esterne come Google Maps, Paypal, Postepay e tanto altro ancora! Questo fa si che piattaforme e-commerce diventino accessibili anche a persone che non hanno conoscenze tecniche per implementarne una.
Come funzionano le piattaforme no-code?
Se esistono piattaforme che riescono a creare applicazioni web con tanta facilità, a cosa serve allora il web developing?
Quando si crea un'applicazione no-code, quello che si va a fare è, ironicamente, programmare. Mi spiego meglio, gli elementi che si aggiungono e gestiscono dentro tali piattaforme hanno alla base del codice riutilizzabile e scalabile su ogni tipo di piattaforma. Quindi ciò che si va a fare quando si annidano più componenti su una pagina web creata tramite un tool no-code è quello di aggiungere del codice ad una pagina web.
Quando andiamo a definire la logica di business a tali pagine, quello che realmente succede è l'aggiunta di funzioni o procedure pre-compilate e ad-hoc per quelle funzionalità che vengono inserite all'interno della tua applicazione in risposta al click di un bottone, l'inserimento di dati e altri modi di interagire con il sistema.
Ovviamente tutto ciò è invisibile all'utente finale che sta utilizzando il tool, egli visualizza solamente un interfaccia in cui dover immettere dei contenuti, immagini, forme e, infine, definire un workflow in seguito alla generazione di un evento per alcune delle componenti inserite.
Quindi vediamo che molto spesso non si utilizzano piattaforme no-code solamente per una caratteristica legata al front-end ma per tutti gli strati di una vera e propria applicazione.
Pro e contro
Vediamo ora quali sono le motivazioni, i pro e i contro nell'utilizzo delle piattaforme no-code e come esse non risultano sempre una valida alternativa al codice.
Pro:Miglior flessibilità: Dato che le interfacce sono costruite tramite un processo di drag-and-drop si ha un posizionamento ottimale di componenti predefinite con il minimo sforzo e con tempi relativamente veloci. Anche il test su tali componenti, sulle view dei vari dispositivi è automatizzato, cosi da garantire l'affidabilità di ciò che si visualizza.
Costi ridotti: Comprare i servizi offerti da developer freelancer o da aziende specializzate nel settore è molto costoso. La soluzione no-code raggira questo problema. I costi si possono limitare a corsi di aggiornamento per l'integrazione di servizi in modo da tener sempre la propria applicazione web aggiornata anche se non si ha dimestichezza con il codice.
Produttività incrementata: Quando un azienda può costruire velocemente le proprie app, il personale IT ha molto meno lavoro su questo fronte, quindi è possibile concentrarsi su altri aspetti tecnologici aumentando di seguito la produttività del settore.
Dinamicità: Quando si ha una codifica manuale, uno dei più grandi problemi non è la creazione di un'applicazione ma il suo aggiornamento. Molti developer hanno l'abitudine di non commentare, di scrivere codice non leggibile e soprattutto, nei casi più complessi, si affianca al codice pagine e pagine di documentazione in modo da ottenere un manuale di orientamento nel mare di codice che vuole aggiornare. Altre circostante sono le dipendenze che, se non rispettate durante l'aggiornamento, possono portare a delle incompatibilità nelle funzionalità di un'app, malfunzionamenti generali e bug di sistema.
Contro:
Chiara comprensione delle esigenze dell'applicazione: Quando un utente utilizza un servizio no-code, ciò che va a fare è gestire le funzionalità direttamente senza l'ausilio di un vero esperto. Questo perché il developer ragiona in un determinato modo che non tutti sono capaci di replicare. Le attitudini al problem solving riescono a prevedere possibili problemi logici o di design in maniera pro-attiva. Quindi potrebbe capitare che un utente medio sia capace di creare un'app, ma il risultato finale potrebbe essere migliorato se si comprendono a pieno le esigenze che si vogliono soddisfare.
Template rigido: Come abbiamo accennato prima, le componenti sono pre-configurate. Ogni elemento che andiamo a definire all'interno della nostra interfaccia è stato utilizzato da altre piattaforme, ciò potrebbe creare una staticità di design che minimizza quell'aspetto di curiosità da parte dell'utilizzatore del sistema dato che egli stesso ha visto quelle componenti in altre mille siti che ha visitato.
Mancanza di controllo e problemi di sicurezza: Le piattaforme no-code hanno come scopo principale quello di realizzare nella maniera più semplice possibili applicazioni. Tali applicazioni, però, possono gestire dati sensibili come codici bancari, indirizzi privati e simili. Questi strumenti non permettono di definire un metodo proprio di gestione di tali dati e, senza averne il controllo, anche la loro sicurezza potrebbe essere labile.
Il codice non è tuo: Se si decide di creare inizialmente una propria app tramite strumenti no-code e, successivamente, abbandonarli per tornare all'implementazione con codice puro, tale decisione sarà impossibile. Questo perché anche se molte piattaforme mettono a disposizione il sorgente online (ad esempio tramite hosting su GitLab), quello che si otterrà sono migliaia e migliaia di righe di codice in cui non si ha una documentazione affidabile a cui si può fare riferimento.
Opinioni finali
Sono stato freelancer per alcuni anni, ho sviluppato piattaforme web, e-commerce, infrastrutture cloud, blockchain e molto altro ancora. Non immaginerei mai che un tool pre-compilato possa sostituire il lavoro che c'è dietro a sistemi complessi e professionali. D'altra parte, l'uso di questi strumenti ha dato l'accessibilità a tutti per la creazione di siti web personali, semplici blog o varie app che, prima degli ultimi anni, erano solamente un sogno per gli utenti medi. Inoltre, il fatto che molte piattaforme no-code diano gratis i loro servizi, rende a tutti l'accessibilità al web e alla gestione dei suoi contenuti. In altre parole, consiglio i tool no-code solamente a chi vuole realizzare app o siti web semplici (dinamici o statici), mentre lasciare ai professionisti l'implementazione di piattaforme più complesse.
Raccontaci la tua!
Siamo curiosi di sapere anche la tua opinione a riguardo!
Cosa ne pensi dell'avvento delle piattaforme no-code?
Quali cambiamenti porteranno nel mondo dei freelancer?
Credi che sia una cosa positiva rendere il mondo del developing accessibile a tutti?