NET ASP MVC è adatto per lo sviluppo rapido del web?

2

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?

    
posta Brad 22.05.2018 - 03:17
fonte

1 risposta

5

Sì. Net Core sebbene sia ancora molto nuovo, è adatto per lo sviluppo rapido del web.

Caveat n. 1: Asp.Net MVC / WebApi è la tecnologia più matura. Potresti trovarlo più compatibile se esegui operazioni di tipo di livello inferiore.

Caveat n. 2: la programmazione è sempre più veloce come sai.

Mi sembra che stavi facendo un salto troppo grande su un progetto con scadenze strette

which obviously adds time because each entity now requires several components for each layer (and multiple view models)

Normalmente avresti bisogno solo di un modello di visualizzazione per visualizzazione, e il tempo necessario per scriverlo sarebbe di un paio di minuti massimo

where as Laravel you can just pass arbitrary data to the view and read arbitrary data from the request

Puoi puoi programmare in questo modo in .net, ma ovviamente perdi i forti vantaggi del tipo, che portano a uno sviluppo più rapido e meno bug una volta che ti sei abituato.

We don't use any sort of service/repository layers and just work with the ORM at the controller level which works for our purpose.

Ancora, puoi andare direttamente al DB nei tuoi controller in .net. Non è raccomandato.

Direi che non è tanto il linguaggio che sta causando il rallentamento, ma anche il tentativo di integrare un'intera lista di best practice contemporaneamente.

strong tipizzazione, separazione dei livelli, iniezione delle dipendenze, unità e test di integrazione DO ti rendono più veloce nel complesso.

La digitazione extra non è un problema una volta che ci si è abituati, ma i vantaggi diventano davvero evidenti solo quando si raccolgono bug in anticipo a causa del controllo della compilazione e dei test unitari.

Inizia con un progetto più piccolo e meno importante e fallo un passo alla volta.

    
risposta data 22.05.2018 - 10:45
fonte

Leggi altre domande sui tag