.NET Core - Menjadi Liar dan Sumber Terbuka. Microsoft, apa yang membuatmu begitu lama?!

Diterbitkan: 2022-03-11

“Sesuatu yang misterius terbentuk, lahir dalam kehampaan yang sunyi. Menunggu sendirian dan tidak bergerak, diam, namun terus bergerak…”

Sungguh, dua peristiwa terbesar dalam sejarah manusia baru saja terjadi satu demi satu:

  • Misi Rosetta ESA mendaratkan wahana Philae-nya dengan lembut di sebuah komet, pertama kalinya dalam sejarah pencapaian luar biasa seperti itu.

  • Sumber Terbuka Microsoft .NET

Peristiwa pertama adalah langkah besar bagi umat manusia, dan yang terakhir bahkan lebih besar bagi Microsoft!

Misi Rosetta akan mengambil tempatnya dalam buku-buku sejarah, dan akan diingat sesering kita mengingat Laika. Itu dibayangkan dan direncanakan dengan hati-hati selama satu dekade, mendorong umat manusia selangkah lebih maju, dan menunjukkan bahwa teknologi yang dikembangkan satu dekade lalu masih dapat melakukan hal-hal menakjubkan.

Acara kedua datang sebagai kejutan bagi banyak orang. Itu tidak diiklankan terlalu banyak, dan saya yakin bahwa setiap detail dari pengumumannya tidak direncanakan satu dekade yang lalu; tetapi jelas bahwa Microsoft mengambil rute ini beberapa waktu lalu, dan .NET core bukanlah hal pertama yang mereka dorong ke open source (Roslyn).

Apakah .NET open source? Akhirnya, cross-platform .NET yang telah kita tunggu-tunggu.

Jadi, apakah umat manusia benar-benar membutuhkan penyelidikan pada komet? Mungkin tidak, tapi luar biasa bisa mendarat! Apakah Microsoft membutuhkan pencerahan untuk memulai open source .NET core? Ya! Mereka membutuhkannya lebih dari satu dekade yang lalu!

Apa yang berubah di salah satu perusahaan pengembangan perangkat lunak terbesar di dunia? Apa yang membuat mereka turun ke jalan OSI?

Menurut .NET Framework Blog, ada dua alasan untuk ini:

  • Letakkan fondasi untuk platform lintas .NET
  • Bangun dan manfaatkan ekosistem yang lebih kuat

Tetapi mengapa Microsoft ingin membantu pengembang membangun perangkat lunak .NET lintas platform? Ini bertentangan dengan semua yang telah mereka lakukan sebelumnya. Microsoft telah mendorong sistem infrastruktur mereka sendiri selama bertahun-tahun. Linux dan Mac adalah musuh yang harus dikalahkan, bukan sekutu. Apa ini semua tentang?

Apa pun motivasi mereka yang sebenarnya, pengembang mendapatkan yang terbaik dari ini. Saya ingin berterima kasih kepada Microsoft karena telah mengambil langkah ini. Lebih baik terlambat daripada tidak sama sekali!

Dampak jangka panjang dari teknologi sumber terbuka Microsoft akan sangat besar. .NET lintas platform yang sebenarnya akan berdampak langsung pada biaya hosting, lisensi, dan pemeliharaan. Ini akan menyederhanakan penjualan aplikasi .NET dengan besaran yang bahkan tidak dapat saya bayangkan.

Saya telah menghabiskan banyak kode penulisan karir profesional saya. Cinta pertama saya adalah Borland Pascal, dan "Blue Screen" adalah sesuatu yang saya lihat dengan sangat hormat saat itu. Saya telah menggunakan berbagai platform pengembangan dan bahasa sesudahnya, tetapi jujur ​​​​saja - sejak Microsoft merilis .NET, Visual Studio adalah lingkungan pengembangan terbaik yang tersedia saat ini. Ini adalah toko serba ada untuk semua yang mungkin dibutuhkan oleh satu pengembang atau tim untuk membangun semua jenis aplikasi. Hal ini terkait erat dengan fitur-fitur hebat dari kompiler .NET, dan setiap versi baru Visual Studio tampak seperti produk yang tidak dapat diperluas lagi; namun, Microsoft berhasil mengejutkan terus-menerus dengan menghadirkan fitur-fitur baru yang keren dengan setiap versi baru Visual Studio.

Membuat perangkat lunak adalah proses yang hebat, membuat setiap pengembang yang pernah saya temui merasa kreatif, inventif, dan terpenuhi. Tapi apakah Anda pernah mencoba menjual, atau mendukung proses penjualan? Saya tidak yakin bahwa setiap tenaga penjualan dapat mengatakan hal yang sama sebagai pengembang perangkat lunak untuk bagian mereka dari persamaan. Menjual untuk perusahaan pengembangan perangkat lunak adalah hal yang mengerikan - Anda harus mengkhawatirkan banyak faktor yang tidak ada hubungannya dengan pengembangan perangkat lunak yang sebenarnya. Orang yang bekerja di departemen penjualan harus membuktikan/meyakinkan klien bahwa produk/layanan yang dijual adalah yang terbaik yang bisa didapatkan klien dengan harga yang harus dibayar; oleh karena itu, pemotongan biaya pengembangan dan pemeliharaan perangkat lunak selalu penting. Dunia nyata tidak pernah berhenti menghitung nilai vs. biaya.

Di sisi lain, memulai sebuah perusahaan tidak pernah semudah ini. Jika Anda memiliki ide yang bagus, tidak terlalu sulit untuk mengumpulkan dana untuk membuat "sesuatu" (nama terbaru untuk "sesuatu" adalah Produk yang Layak Minimal, tetapi itu mungkin akan diperbarui di masa mendatang), tunjukkan "sesuatu" kepada dunia, dapatkan umpan balik positif, dapatkan lebih banyak dana, dan ulangi sampai Anda mulai menghasilkan uang, menjual perusahaan Anda, atau gagal.

Apa cara termudah untuk memotong biaya produk perangkat lunak? Nah, pengembangan adalah sesuatu yang perlu Anda bayar, dan dalam kebanyakan kasus Anda hanya akan membayar tarif per jam pengembang Anda, terlepas dari platform pengembangan yang mereka gunakan; jadi cara paling sederhana untuk memangkas biaya adalah dengan menerapkan perangkat lunak Anda pada lingkungan yang tidak memerlukan lisensi tambahan. Di sinilah Microsoft telah gagal berulang kali! Kita bisa saja berdebat sengit tentang kinerja, kualitas perangkat lunak, skalabilitas, dll., tetapi mudah untuk melihat bahwa platform .NET dapat dengan mudah mengatasi tantangan teknis apa pun yang dihadapinya. Dalam banyak kasus, saya percaya itu menunjukkan keunggulannya atas platform lain; tetapi saya tidak sering memenangkan perdebatan tentang penerapan dan perizinan infrastruktur.

Pasar mulai mendorong pengembang menjauh dari platform pengembangan Microsoft, dan ya, saya salah satu pengembang itu. Saya mengadopsi Node.js sebagai platform back-end utama, terlepas dari fakta bahwa itu masih belum cukup matang untuk mengatasi semua yang saya butuhkan. Saya suka WebStorm dan saya menghargai pekerjaan hebat yang dilakukan JetBrains di dalamnya, tetapi saya lebih menyukai Visual Studio 2013. Ya, saya sadar bahwa saya dapat menulis aplikasi Node.js di VS! Tetapi ketika Anda didorong dari C# ke JavaScript, dari SQL Server ke PostgreSQL, dari IIS ke Apache, mengapa repot-repot menggunakan PC berbasis Windows?

Saya adalah seorang penginjil Microsoft sejati, bahkan sebelum .NET keluar dan tentunya sebelum .NET adalah open source dan lintas platform. Tapi itu semua mati ketika mereka mengambil (jari) dari kami di Skype. Saya selalu suka membuat aplikasi untuk Platform Windows. Saya telah menghabiskan banyak waktu untuk mempelajari tip dan trik perdagangan, dan saya yakin saya sangat ahli dalam hal itu. Namun, pasar pengembangan perangkat lunak banyak berubah dalam dekade terakhir. Startup berkembang di mana-mana dan setiap klien baru mencari solusi yang paling hemat biaya. Microsoft gagal mengikuti perkembangan pasar baru ini, dan saya hanyalah salah satu dari banyak pengembang Microsoft yang mengganti laptop Windows-nya dengan MacBook. Microsoft akhirnya menyadari bahwa memberi kami opsi untuk menyebarkan aplikasi kami ke platform sumber terbuka akan membuat Komunitas Pengembangan Microsoft yang besar tetap menggunakan alat mereka, dan pada akhirnya membawa lebih banyak pelanggan kepada mereka juga.

Microsoft telah mengambil langkah kecil menuju perubahan besar, dan mereka memiliki alat pengembangan terbaik dan komunitas pengembangan yang hebat. Apa yang akan terjadi jika kita menerima OS open-source selain IDE yang hebat? "Bahkan saya tidak berani menghitung peluang".