ASP.NET MVC

vs

Laravel

About Me

Vahid Azamtarrahian

 

Application Developer

Dewpoint

Lansing, MI

Release Dates

ASP.NET MVC - March 2009

.NET Core - June 2016

Laravel - June 2011

Platform

ASP.NET MVC Laravel
OS Windows* Cross Platform
Database SQL Server MySQL, PostgreSQL, SQL Server, SQLite
Web Server IIS Apache, NGINX

* .NET Core allows cross platform development

.NET Core 1.0 was released in June 2016

Development Environment

Vagrant/Homestead

vs

Local Development

Development

Laravel - Open Source

  • Taylor Otwell
  • Mohamed Said
  • Graham Campbell

ASP.NET

  • Microsoft

 

* .NET Core is Open Source

Benevolent Dictator

vs

Corporations

Workflow

ASP.NET MVC

  • Write, compile, debug
  • Heavy use of debugger
  • No REPL (read-eval-print-loop)
  • Entire program has to compile before you can view your application

Laravel

  • Write, read, debug
  • Debugger optional, has good output browser
  • REPL - Tinker
  • No compilation

Rapid Development

C#

Language Considerations

PHP vs C#

Strongly Typed vs Loosely Typed

C# Nullable Types

Traditionally, dynamically typed languages allow for rapid development but sacrifice the ability to catch errors early and introspect code quickly, particularly on larger codebases. Conversely, statically typed languages provide more of a safety net, but often at the cost of quick iteration. We believed there had to be a sweet spot.

- Facebook's Reason for Hack Language

C#

* C# is Microsoft flavored Java

*

Architecture

C#

  • More repositories
  • More loosely coupled

 

Laravel

  • Extend Models
  • More tightly coupled

 

Architect Astronauts

Source Code

Close Source

vs

Open Source

Database Creation

ASP.NET MVC

  • Lots of options
  • Code first
  • Database First
  • Model First
  • ReadyRoll

Laravel

  • Migrations and Seeds

Package Management

NUGet

vs

Composer

ORM

Entity Framework

vs

Eloquent

$user = new User;
$user->username = 'philipbrown';
EntityManager::persist($user);

$user = new User;
$user->username = 'philipbrown';
$user->save();

Active Record

(Eloquent)

Data Mapper

(Entity Framework)

Dependency Injection / Inversion of Control

Laravel Container

vs

Structure Map, Ninject, etc

Viewmodels

ASP.NET -- MVVC

(Model, View, ViewModel, Controller)

 

vs

 

Laravel MVC

JavaScript Framework Preference

Microsoft TypeScript

Laravel and VueJS

SQL and Functional Programming

LINQ

vs

Laravel Container

Interactive Consoles

C# Interactive

vs

Tinker

Cost

Cheap

vs

Expensive

Questions?

ASP.NET vs Laravel

By vahidazam

ASP.NET vs Laravel

  • 1,208