Attualmente lavoro per un'azienda che crea applicazioni web per aziende e imprenditori, in genere 4-6 progetti all'anno. Al momento utilizziamo Laravel / PHP che ci consente di creare applicazioni in tempi relativamente rapidi con scalabilità, manutenibilità, sicurezza e così via.
Non amo PHP come lingua e dato che ho una strong influenza sulla direzione dell'azienda, ho chiarito al mio capo che dovremmo eventualmente passare da PHP a nuovi progetti e adottare un linguaggio / struttura migliore (che ha accettato di).
Il mio suggerimento era ASP.NET Core su cui il mio capo andava bene. Ho iniziato a sviluppare il nostro ultimo progetto sulla piattaforma, ma dopo una settimana e un paio di ostacoli che stavano rallentando lo sviluppo, ho deciso di tornare su PHP per rispettare le scadenze.
Stavo seguendo un'architettura stratificata abbastanza standard nel mondo .NET (MVC, livello di servizio, livello di repository) che ovviamente aggiunge tempo perché ogni entità ora richiede diversi componenti per ogni livello (e più modelli di visualizzazione) dove come Laravel puoi basta passare dati arbitrari alla vista e leggere dati arbitrari dalla richiesta. Non utilizziamo alcun tipo di livello di servizio / repository e lavoriamo con l'ORM a livello di controller che funziona per il nostro scopo.
Inizialmente pensavo di richiamare semplicemente l'architettura a strati (dopotutto non lo facciamo nemmeno su PHP / Laravel), ma la mia preoccupazione è che .NET Core non sia semplicemente adatto a un rapido sviluppo a causa della verbosità richiesto da un linguaggio tipizzato staticamente. Sembra che Ruby / Rails, Python / Django, JS / Node siano più adatti per la prototipazione rapida e non si sente spesso (se mai) ASP in quel mix.
Il nucleo .NET ASP MVC è adatto per lo sviluppo e la prototipazione rapidi? È possibile creare app in .NET Core che non seguono un approccio a strati o diventeranno rapidamente ingestibili più velocemente di qualcosa come uno dei suddetti linguaggi / framework?