Perché l'industria del low-code prende sempre più piede
low-code non è sufficiente
Lo sviluppo di applicazioni utilizzando un approccio tradizionale può essere un'impresa costosa e che richiede tempo. Per questo motivo, molte organizzazioni ora utilizzano low-code per sviluppare le proprie app personalizzate a un ritmo molto più veloce. Poiché lo sviluppo di app in questo modo non richiede un team completo di sviluppatori, anche le organizzazioni più piccole possono sperimentare i vantaggi di avere il proprio software.
Poiché il low-code è diventato sempre più popolare negli ultimi anni, sono emerse sempre più piattaforme a codice ridotto. Tuttavia, il CEO di OutSystems Paulo Rosado ritiene che molte di queste piattaforme stiano commettendo lo stesso errore che altri fecero con Visual Basic 20 anni fa, offrendo soluzioni che non soddisfano realmente le esigenze di aziende o sviluppatori. TechRadar Pro ha parlato con Rosado per saperne di più su come ha aiutato a fare da pioniere nel settore del low code e dove crede stia andando.
qqqPerché il low-code sta diventando così popolare tra le aziende e quali vantaggi offre rispetto allo sviluppo di software tradizionale?
Nuovi approcci allo sviluppo stanno guadagnando popolarità di recente perché, mentre la pressione sull'IT per fornire valore al business non è mai stata così alta, il successo degli sviluppatori è sempre più ostacolato dai limiti di produttività dello sviluppo tradizionale. Solo un piccolo gruppo elitario di aziende tecnologiche sta riscuotendo successo con gli approcci di sviluppo tradizionali e per tutti gli altri semplicemente non è abbastanza rapido, abbastanza efficiente o abbastanza flessibile da essere in grado di portare a termine il proprio lavoro in modo efficiente. In sintesi, il low-code aiuta le aziende, anche quelle con piccoli team di sviluppo, a creare software più velocemente e i vantaggi sono così significativi che stiamo assistendo a un'esplosione di interesse.
Detto questo, abbiamo identificato queste sfide principali e abbiamo iniziato a lavorare sui modi per risolverle più di 20 anni fa, e un approccio visivo alla codifica basato sul modello (cioè "low-code") è stato un punto naturale da cui iniziare per creare applicazioni di alta qualità più velocemente. Essendo uno degli inventori del low-code, ho scoperto subito che, man mano che le soluzioni che i clienti stavano costruendo diventavano più complesse, quel "low code" di per sé non era più sufficiente. I clienti non avevano solo bisogno di strumenti di sviluppo migliori e più efficienti, ma avevano bisogno di un'intera piattaforma che migliorasse il ciclo di vita completo dell'applicazione nello stesso modo in cui il low-code migliora l'esperienza di sviluppo. I clienti con grandi esigenze di sviluppo, richiedono una piattaforma senza compromessi. Stanno cercando un vero sviluppo, ma secondo un diverso insieme di regole. Quindi abbiamo investito nel prendere quella base low-code e costruire attorno ad essa una serie di servizi e funzionalità della piattaforma che la rendono molto diversa da qualsiasi altra cosa sul mercato.
Combinando la velocità e l'efficienza dello sviluppo low-code, con l'espressività e la capacità dello sviluppo tradizionale, i clienti di qualsiasi dimensione sono in grado di affrontare le applicazioni più complesse, in modo da poter innovare, competere o semplicemente svolgere un lavoro migliore nella gestione delle loro organizzazioni e soddisfare le esigenze dei clienti.
In fondo non è il modo in cui realizzi qualcosa, ma il risultato che conta. Le piattaforme di applicazioni moderne fanno semplicemente un lavoro migliore nell'aiutare le organizzazioni a risolvere le loro sfide software più complesse e questi vantaggi stanno ottenendo sempre più persone interessate a effettuare il passaggio.
Quanto tempo impiega in media un'organizzazione a creare un'app utilizzando la tua piattaforma?
La risposta dipende dal livello di complessità, ma una regola semplice è 1/10 del tempo che ci vorrebbe nello sviluppo tradizionale. Una semplice prima versione di un'app mobile in poche ore, un candidato MVP più complesso in un giorno o la ricostruzione completa di un sistema back-end massiccio e inflessibile in pochi mesi. Quando è arrivato il primo round di ordini di blocco COVID, abbiamo avuto clienti che creavano applicazioni completamente nuove che consentivano ai loro dipendenti di lavorare da casa, per un fine settimana! Si trattava di app che avrebbero richiesto settimane o mesi se fossero state create utilizzando il codice tradizionale.
In definitiva, OutSystems aiuta le aziende a creare le applicazioni di cui hanno bisogno a una velocità di gran lunga superiore a qualsiasi alternativa, senza compromettere funzionalità, scalabilità, affidabilità o sicurezza. Ancora più importante, con OutSystems, una volta distribuita un'applicazione, puoi farla evolvere continuamente con la stessa rapidità con cui cambiano i tuoi requisiti. La straordinaria velocità e flessibilità che OutSystems offre si applica non solo alla versione 1, ma anche alla versione 2, 3, 4 e tutto il resto.
Cosa sono i "builder" di Service Studio e in che modo questi set di strumenti visivi aiutano ad accelerare il ciclo di sviluppo?
Service Studio è l'ambiente di sviluppo principale per la piattaforma OutSystems e consente agli sviluppatori OutSystems di assemblare rapidamente applicazioni mission-critical da zero o da un'enorme libreria di modelli e moduli di codice predefiniti. I nostri builder sono set di strumenti complementari progettati per essere utilizzati dai membri del team con set di competenze specifiche o focalizzati sul miglioramento di una parte specifica del processo di sviluppo. Tutti i builder, come Service Studio, si affidano a un approccio visivo basato su modello e sono tutti perfettamente connessi per consentire la collaborazione in team. Ciò significa che team diversi possono collaborare su applicazioni con l'espressività dello sviluppo tradizionale, ma con velocità ed efficienza superiori. Ad esempio, Experience Builder è progettato per un esperto di UI / UX per creare l'interfaccia utente di un'applicazione. Il design dell'interfaccia può quindi essere migliorato, senza interruzioni, da uno sviluppatore utilizzando Service Studio. Allo stesso modo, un analista aziendale può definire i flussi di lavoro dell'applicazione che sono alla base di un'applicazione e tali flussi di lavoro si integrano perfettamente con Service Studio.
Ciascuno dei costruttori aggiunge alla piattaforma funzionalità di creazione e progettazione di applicazioni specializzate uniche. Ancora più importante, i costruttori consentono a tutti i diversi membri di un multifunzionale, inclusi gli analisti aziendali, di contribuire in modo trasparente alla creazione di soluzioni software di classe enterprise.
Puoi dirci di più su come OutSystems utilizza l'AI per raggiungere l'obiettivo di rendere gli sviluppatori di applicazioni cento volte più veloci?
OutSystems utilizza l'IA su tutta la piattaforma, non solo per lo sviluppo, per migliorare ogni aspetto del ciclo di vita Dev / Sec / Ops.
Attraverso una profonda integrazione nei nostri strumenti di sviluppo, l'AI assiste gli sviluppatori nel processo di creazione delle applicazioni automatizzando, guidando e convalidando le scelte di progettazione. Sfruttando la nostra esperienza con decine di milioni di grafici di applicazioni anonimizzati, abbiamo sviluppato un motore di intelligenza artificiale che suggerisce e convalida in modo sottile modelli di progettazione basati su modelli di codice appresi e best practice, riducendo le congetture degli sviluppatori ed eliminando la maggior parte delle attività ripetitive associate alla codifica procedurale tradizionale . Questa perfetta integrazione dell'IA consente agli sviluppatori di esprimere la propria creatività senza essere invadenti e garantendo al tempo stesso che i clienti raggiungano i risultati di business desiderati più velocemente.
Oltre a utilizzare l'IA per aiutare gli sviluppatori a creare applicazioni in modo più efficiente, OutSystems include potenti strumenti in modo che gli sviluppatori possano includere funzionalità basate sull'intelligenza artificiale nelle loro applicazioni. ML Builder ne è un ottimo esempio: consente agli sviluppatori di addestrare nuovi modelli in base ai propri dati per potenziare le nuove funzionalità del software che stanno creando. Abbiamo altre funzionalità di sviluppo basate sull'intelligenza artificiale che si basano sui modelli di OutSystems. Ad esempio, abbiamo modelli integrati nella piattaforma per la creazione di interfacce in linguaggio naturale (ad esempio chatbot), riconoscimento del testo ed elaborazione delle immagini. Abbiamo anche una raccolta di componenti predefiniti per aiutare gli sviluppatori a trarre vantaggio dai servizi di intelligenza artificiale del cloud come Rekognition in AWS.
Oltre alle capacità di sviluppo basate sull'intelligenza artificiale, qualcosa che distingue Outsystems è la misura in cui ci affidiamo anche all'intelligenza artificiale per migliorare i nostri servizi di automazione della piattaforma e le capacità di gestione. Ad esempio, consentire alle applicazioni di cambiare continuamente è una delle funzionalità più importanti di OutSystems e questo è alimentato da una delle nostre funzionalità più innovative: TrueChange. Questo servizio di piattaforma, basato sull'intelligenza artificiale, gestisce tutte le dipendenze nell'intero complesso dei moduli dell'applicazione nel portafoglio software di un'organizzazione. TrueChange garantisce che gli aggiornamenti simultanei di più sviluppatori vengano uniti senza problemi. Con un'analisi dell'impatto automatizzata e basata sull'intelligenza artificiale, protegge le modifiche in un modulo dall'interruzione di eventuali moduli dipendenti e TrueChange elimina i costosi problemi causati da un controllo della versione incoerente.
Questa automazione basata sull'intelligenza artificiale migliora anche la funzionalità di distribuzione e gestione. Sappiamo tutti che la distribuzione di applicazioni nel cloud è stata tradizionalmente complessa e scoraggiante. Con un'automazione intelligente e basata sull'intelligenza artificiale, OutSystems è in grado di renderlo semplice come un solo clic. Potenti servizi di piattaforma, tra cui TrueChange, automatizzano la maggior parte della complessità associata alla distribuzione delle applicazioni come il controllo della versione, l'analisi dell'impatto dell'applicazione / modulo, la gestione di più ambienti operativi (ad esempio sviluppo, test, produzione), gestione del database, controllo degli accessi e generazione di KPI e metriche. Anche la funzionalità di rollback della distribuzione è completamente automatizzata.
Infine, abbiamo recentemente introdotto alcune rivoluzionarie funzionalità basate sull'intelligenza artificiale per aiutare con l'analisi dell'architettura. Architecture Dashboard è uno strumento di gestione all'avanguardia basato sull'intelligenza artificiale che aiuta gli architetti a valutare l'applicazione delle migliori pratiche di progettazione, applica modelli architettonici approvati ed esegue la classificazione tecnica del debito. Con un'intelligenza unica basata sull'intelligenza artificiale, Architecture Dashboard esegue anche analisi di refactoring su portafogli di applicazioni e moduli a livello aziendale. Il refactoring rileva e suggerisce soluzioni per rimediare alla ridondanza. Applicando buoni standard architetturali e rilevando ed eliminando le ripetizioni, riduciamo drasticamente la complessità degli aggiornamenti futuri e, allo stesso tempo, riduciamo drasticamente il sovraccarico di gestione.
OutSystems sfrutta l'AI per migliorare ogni fase del ciclo di vita dell'applicazione, dalla progettazione e sviluppo alla distribuzione e gestione. La nostra missione non è solo rendere gli sviluppatori 100 volte più produttivi, ma anche contribuire a rendere l'intera organizzazione IT 100 volte più produttiva.
Cos'è TrueChange e come è in grado di verificare la presenza di bug ed errori di architettura in un'applicazione?
TrueChange è un motore brevettato basato sull'intelligenza artificiale che aiuta gli sviluppatori ad affrontare le complessità create dai requisiti software in continua evoluzione. Mentre gli sviluppatori utilizzano l'IDE, TrueChange è in grado di capire come ogni modifica influisce sui vari livelli di un'applicazione: interfaccia visiva, logica, processo, dati. Prendi qualcosa di semplice come cambiare il nome della colonna in una tabella di database. Con lo sviluppo tradizionale, questa modifica richiede che uno sviluppatore conosca tutti i diversi livelli di codice che devono essere aggiornati. TrueChange aggiorna automaticamente tutto il codice dipendente e l'infrastruttura e quando si verificano modifiche come questa, risparmiando tempo allo sviluppatore e assicurando che i bug non inseriscano il codice.
Le applicazioni moderne sono assemblate da innumerevoli parti diverse e accedono a una vasta gamma di origini dati e API, troppe per essere gestite manualmente. TrueChange tiene traccia di tutte le versioni e la compatibilità tra queste dipendenze, non solo a livello di app, ma attraverso l'intero portafoglio di applicazioni OutSystems. Ciò significa che, indipendentemente dal fatto che tu stia aggiornando un microservizio, un'API, un componente dell'interfaccia utente o una tabella di database, TrueChange identifica tutte le app ei servizi interessati, corregge automaticamente le dipendenze richieste e garantisce che le build siano fluide e le applicazioni non si interrompano non importa cosa sia stato cambiato.
Quali vantaggi offre il nuovo Machine Learning Builder di OutSystems allo sviluppo di applicazioni?
Machine Learning Builder offre agli sviluppatori un accesso democratizzato a funzionalità avanzate di machine learning, in modo che possano creare app AI personalizzate con esperienze personalizzate. ML Builder risolve due dei problemi più difficili con l'IA nell'azienda: la mancanza di data scientist per costruire modelli e il difficile processo di produzione di un modello AI in un'app. Utilizzando ML Builder, gli sviluppatori sono in grado di integrarsi con i dati della propria azienda, quindi selezionano "Voglio addestrare questo modello di apprendimento automatico per prevedere questo campo" e ML Builder eseguirà dozzine di esperimenti, selezionerà l'algoritmo migliore e quindi creerà il modello. Da lì, gli sviluppatori devono semplicemente trascinare e rilasciare il modello nella loro applicazione: non sono richieste conoscenze avanzate di data science o codifiche complesse.
In che modo AppShield della tua azienda aiuta a proteggere le applicazioni mobile da attacchi dannosi?
AppShield rappresenta alcune delle protezioni più avanzate disponibili per proteggere le applicazioni mobile da attacchi dannosi sofisticati. Come parte della piattaforma OutSystems, AppShield aggiunge ulteriori livelli di sicurezza durante la distribuzione per rendere le applicazioni più resistenti alle intrusioni, alle manomissioni e al reverse engineering. AppShield rende inoltre più difficile per gli aggressori lo spoofing di un'app, la manomissione dei suoi controlli di sicurezza, l'inserimento di codice dannoso, l'esecuzione in un ambiente non sicuro come su un dispositivo rooted (Android) o jailbroken (iOS) ed eseguire altre attività dannose.
Qual è il futuro di OutSystems?
La crescita di OutSystems è stata enorme, anche nel 2020. In effetti, i successi dei nostri clienti nella creazione rapida di soluzioni software forzate da COVID hanno dimostrato a molte più aziende la potenza della piattaforma OutSystems e di conseguenza abbiamo visto più opportunità strategiche.
OutSystems aiuta sempre più aziende, di tutte le dimensioni, a cogliere nuove opportunità semplificando lo sviluppo e introducendo cambiamenti nel processo. Anche se ovviamente è importante creare applicazioni rapidamente, le aziende continueranno a capire che "rapidamente" non è sufficiente. Quindi stiamo continuando a investire in tecnologie sofisticate, come l'AI, in modo che tutto ciò che viene costruito rapidamente sia anche costruito bene (ovvero in modo sicuro, scalabile e affidabile) e che le applicazioni siano in grado di adattarsi continuamente con la stessa rapidità con cui cambiano le esigenze dell'azienda. .