ASP.NET Core: Jawaban Tepat Untuk Pengguna Non-Windows

Muhammad Arslan 28 Mei 2017

ASP.NET Core: Jawaban Tepat Untuk Pengguna Non-Windows

Belantara Microsoft memang sangat menarik. Tidak heran banyak yang tertarik ingin mengembangkan aplikasi mulai dari desktop, game, mobile, robotik, hingga web. Khususnya untuk dunia web, banyak yang ingin membuat aplikasi web dengan menggunakan suatu teknologi yang dinamakan dengan ASP.NET dan ASP.NET MVC. Bahasa pemrograman yang digunakan biasanya adalah Visual Basic ataupun C#.

Namun sayang, untuk membuat aplikasi dengan teknologi tersebut memang membutuhkan usaha yang tidak sedikit, mulai dari membeli lisensi Windows, lisensi Visual Studio, dan software pendukung lainnya untuk membangun aplikasi di belantara Microsoft. Tentu saja hal ini mudah bila lisensinya sudah dibayarkan oleh perusahaan.

Tentu saja hal tersebut membuat pengguna OSX dan Linux apalagi BSD tidak dapat mencicipi manisnya ASP.NET yang hanya dapat digunakan di Windows. Terlebih lagi setelah deploy pun hanya dapat dipasang di Windows Server dengan IIS-nya.

Namun beberapa tahun belakangan ini, rupanya Microsoft mulai menaruh perhatian untuk membuat ASP.NET, ASP.NET MVC, dan teknologi Microsoft lainnya untuk membuat aplikasi menjadi lebih open source dan cross platform.

##Cerita Singkat ASP.NET Core

Awal mulanya C#, mulai open source namun dibawah mesin yang berbeda dengan .NET biasanya, yaitu Mono. Mono sendiri dikembangkan oleh Miguel De Icaza, salah satu pencetus GNOME Desktop Environment dan juga Co-Founder dari Xamarin. Pada saat itu Mono memiliki sejumlah fitur yang sepadan dengan .NET seperti ASP diatas Mono, dan Moonlight yang mirip dengan Silverlight. Memang cukup unik saat itu dimana ASP dapat di-hosting di tempat non-Microsoft seperti Linux dan Unix lainnya, dapat juga ditaruh diatas Apache Web Server.

Karena eksistensinya yang begitu hebat, Mono mulai diperhatikan oleh Microsoft terlebih Miguel menciptakan sesuatu yang hebat bernama Xamarin. Dimana kamu dapat membuat aplikasi native untuk mobile apps dengan menggunakan C# dan dapat dipublish ke berbagai perangkat seperti iOS, Android, dan Windows Phone hanya dengan satu basis source code saja.

Kemudian akhirnya dibawah inisiatif Microsoft dan komunitas, ASP.NET Core pun mulai dikembangkan untuk menjawab kebutuhan ASP.NET yang lebih enterprise dan cross platform. Tentunya open source dan free. ASP.NET Core ini digadang menjadi generasi penerus dari ASP.NET sebelumnya.

Framework ini merupakan hasil tulis ulang yang merupakan penggabungan dari ASP.NET MVC dan ASP.NET Web API. Sebelumnya nama yang diusung adalah ASP.NET vNext kemudian akhirnya menjadi ASP.NET Core dengan versi awal yaitu 1.0. Saat ini sudah versi 1.1.1.

ASP.NET Core pun dikembangkan dengan mode granular diatas NuGet package manager, dibandingkan dengan pendahulunya yang dibundel dalam satu .dll bernama System.Web.dll.

Beberapa komponen yang ada antara lain:

  • Entity Framework
  • Identity
  • MVC
  • Razor
  • dan lainnya

Saat ini ASP.NET Core sudah di-open source-kan di Github https://github.com/aspnet/home, sehingga kamu dapat berkontribusi atau memantau perkembangan ASP.NET Core secara langsung disini.

##Fitur - Fitur ASP.NET Core

Berikut ini adalah fitur initi dari ASP.NET Core yang dapat kamu gunakan saat ini juga:

  • Cross platform, kamu dapat melakukan development di sistem operasi manapun seperti Windows 10, OSX, dan Linux
  • Dapat di-deploy diatas IIS, Nginx, Apache, dan web server lainnya
  • Memiliki fitur yang hampir sepadan dengan ASP.NET sebelumnya seperti MVC, Filter, Middleware, Authorization, static file, Configuration, Logging, dan lainnya.
  • Didukung oleh Visual Studio Code dan Visual Studio
  • Dapat menggunakan Entitiy Framework untuk database seperti SQL Server, SQLite3, dan Azure SQL Database. Untuk database lain kamu harus memilih berbagai library yang cocok untuknya
  • Didukung oleh NuGet package manager
  • Akses bebas ke berbagai layanan Azure dibanding bahasa pemrograman lain
  • Dukungan websocket secara default
  • Dukungan JWT dan OAuth secara default
  • Dapat memilih mode Web API bila ingin membangun RESTful web service
  • Sudah memiliki package untuk software testing seperti unit testing dan integration testing
  • Migration tool otomatis yang hampir mirip dengan Django walaupun masih terbatas untuk SQL Server dan SQLite3 saja. (Database lain akan didukung oleh komunitas).
  • Resource belajar yang sangat banyak didukung oleh komunitas dan Microsoft sendiri
  • Dan fitur - fitur lainnya terlebih dukungan yang sangat mudah bila ingin diinttegrasikan dengan Azure

(arslan/microsoft)