top of page

cloud37 - Approfondimenti

Come funziona lo sviluppo con Mendix?

  • Immagine del redattore: Aurimas Dainius
    Aurimas Dainius
  • 3 feb
  • Tempo di lettura: 4 min

In cloud37 Italy abbiamo adottato Mendix, una delle principali piattaforme low-code, per accelerare lo sviluppo software e l'innovazione. Il nostro team ha rapidamente riconosciuto il suo potenziale per offrire soluzioni potenti e scalabili con un'efficienza straordinaria.

Sebbene lo sviluppo low-code introduca un approccio diverso rispetto alla programmazione tradizionale, la nostra esperienza ci consente di sfruttare efficacemente questo cambiamento.

La transizione dalla scrittura di lunghe righe di codice alla costruzione visiva del software ci permette di iterare più rapidamente senza compromettere qualità o prestazioni.

Per lo sviluppo dell'interfaccia utente, questo approccio è intuitivo e migliora la produttività rispetto alla scrittura manuale di HTML, CSS e JavaScript. Sul lato backend, la nostra esperienza con la logica visiva e le capacità di integrazione di Mendix garantisce applicazioni robuste, di livello enterprise, progettate per soddisfare esigenze aziendali complesse.


Come funziona effettivamente?


Pensa a questo: quando devi programmare qualcosa di complesso, normalmente non inizi a scrivere codice subito. Ci rifletti, fai qualche schizzo su una lavagna o su un pezzo di carta, identifichi alcuni schemi e solo allora inizi a scrivere codice.

Con Mendix, il processo è molto simile, tranne che l'ultima parte, quella della 'codifica', è molto diversa.


Ecco come appare il processo in Mendix:

  1. Crei un nuovo microflow. I microflow sono dove viene eseguita la tua logica di business. Mi piace pensarli come a un metodo in una classe di servizio. Puoi chiamare altri microflow al loro interno.

  2. Trascini e rilasci gli elementi necessari per implementare la tua logica. Farai le stesse cose che faresti in Java: creare variabili, recuperare dati dal database, modificare oggetti, iterare su collezioni, utilizzare istruzioni condizionali, ecc.

  3. Alla fine del microflow, potresti restituire qualcosa o non restituire nulla. Potresti salvare un oggetto nel database o segnalare al lato client che una pagina dovrebbe essere chiusa.


Ecco alcune attività che puoi aggiungere a un microflow di Mendix:

Azioni disponibili nei microflows Mendix
Azioni disponibili nei microflows Mendix

Ce ne sono molte altre e puoi persino crearne di tue. Nel marketplace di Mendix ci sono centinaia di altre tra cui scegliere.


Ed ecco un esempio di microflow:

Esempio di microflow in Mendix
Esempio di microflow in Mendix

Qui semplicemente recuperiamo un oggetto dal database o ne creiamo uno nuovo se non esiste. È abbastanza ordinato e facile da capire, anche per una persona non tecnica.


La stessa logica potrebbe essere scritta in Java:

public class SubscriptionService {
    // ...
    public SubscriptionCost getOrCreateSubscriptionCost(
        Subscription subscription,
        BillingFrequency billingFrequency
    ) {
        // implement getSubscriptionCost method somewhere, or use a spring data repository
        Optional<SubscriptionCost> existingCost = subscriptionRepository.getSubscriptionCost(billingFrequency.id(), subscription.id());

        return existingCost.orElseGet(() -> {
            SubscriptionCost newCost = new SubscriptionCost(subscription, billingFrequency, ...);
            subscriptionRepository.save(newCost);
            return newCost;
        });
    }
    // ...
}

Entrambi sono validi e sono visualizzazioni di un processo che avviene nel mondo reale.


Vantaggi dello sviluppo visivo


  1. Hai una rappresentazione visiva del flusso che stai modellando, rendendo le cose più chiare senza dover fare disegni da solo o scrivere codice.

  2. La rappresentazione visiva è il vero e proprio 'codice', non c'è bisogno di convertirla in qualcos'altro da solo.

  3. Puoi letteralmente mostrare il microflow a una persona del business e sarà molto più probabile che capisca i disegni piuttosto che il codice.

  4. È una documentazione molto migliore rispetto al solo codice.

  5. È probabile che tu proceda più velocemente. Questo è semplicemente dovuto al fatto che stai operando a un livello di astrazione più elevato. Se la flessibilità della tua piattaforma è sufficiente per te, sarai più veloce. In caso contrario, potresti essere bloccato e dover spendere tempo a implementare codice da solo per ottenere ciò di cui hai bisogno.


Svantaggi dello sviluppo visivo

  1. Poiché è comunque un'astrazione rispetto al codice normale, inevitabilmente si perde un po' di flessibilità, come accade passando dall'assembly al C o dal C al Java.

  2. Dato che il modello 'visivo' deve essere tradotto in codice eseguibile dalla macchina, sarà più lento da eseguire. (anche se sospetto che ci siano molte ottimizzazioni in Mendix per renderlo il più veloce possibile)

  3. A partire dal 2024, la comunità low-code non è così grande rispetto ai grandi linguaggi di programmazione, quindi potresti non ottenere aiuto rapidamente se ne hai bisogno. Per Mendix, c'è il forum di Mendix e il marketplace, dove puoi trovare molti addon di terze parti, ma a parte questo non c'è molto altro.

  4. Potrebbe essere più difficile fare analisi statica del codice. Questo dipende dalla piattaforma low-code. Con alcune, se non c'è una rappresentazione testuale del flusso, sarà più difficile sviluppare strumenti che lo analizzano. (questo potrebbe cambiare in futuro)


Conclusione

Per riassumere, lo sviluppo visuale è un modo alternativo di scrivere software. Potrebbe sembrare più naturale a molte persone, può essere condiviso con persone non tecniche per scopi dimostrativi e può aiutare gli sviluppatori a esprimere idee complesse in modo più chiaro.


Detto questo, lo sviluppo di codice tradizionale non sta andando da nessuna parte e ha ancora vantaggi in termini di prestazioni e flessibilità.


Se siete in grado di scegliere l'uno o l'altro, considerate i pro e i contro di cui sopra e pensate a fattori come flessibilità, prestazioni, facilità di sviluppo, quali competenze possedete attualmente.


In questo modo troverete l'approccio migliore per voi.


Se avete domande o desiderate maggiori informazioni su Mendix, contattateci e saremo lieti di aiutarvi!

 
 
 

Commentaires


bottom of page