Delapan Alasan Mengapa Microsoft Stack Masih Menjadi Pilihan yang Layak

Diterbitkan: 2022-03-11

Hidup sangat menyenangkan bagi pengembang Microsoft 10 tahun yang lalu. Perusahaan senang dengan 100 persen Microsoft untuk proyek pengembangan mereka. Dengan ASP.NET di frontend, .NET middle-tier dan SQL Server di backend, semuanya bekerja dengan sangat baik untuk sebagian besar. Ketika tidak, pengembang hanya menerima itu sebagai sesuatu yang datang dengan wilayah. Microsoft hanya menjalankan pertunjukan. Kemudian, pada akhir dekade terakhir, status gorila Microsoft seberat 800 pon mulai terurai. Mungkin karena pengenalan iPhone dan Microsoft kehilangan peralihan ke seluler, atau mungkin karena proliferasi proyek sumber terbuka, tetapi segalanya berubah, dan hari ini perusahaan yang sama perlu diyakinkan bahwa menggunakan Microsoft Stack adalah sebuah ide bagus. Artikel ini menyajikan delapan alasan yang mendukung untuk tetap menggunakan tumpukan perangkat lunak Microsoft.

Alasan #1: .NET Masih Salah Satu Yang Terbaik

Diperkenalkan lebih dari 10 tahun yang lalu, .NET Framework kaya akan fitur dan telah teruji secara menyeluruh. Meskipun merupakan hal yang biasa untuk menggabungkan pengembangan asli dengan kode terkelola di masa-masa awal .NET, sebagian besar tugas pengembangan didukung di luar kotak saat ini. Bahkan perusahaan seperti Oracle merilis komponen yang 100 persen kode terkelola .NET (yaitu driver terkelola ODP.NET) untuk berinteraksi dengan produk mereka. .NET API konsisten, didokumentasikan dengan baik, dan digunakan oleh jutaan orang.

Basis pengetahuan yang tersedia melalui MSDN, StackOverflow dan ribuan forum dan blog sangat besar. Dalam tahun-tahun saya berkembang di .NET, saya tidak dapat mengingat contoh di mana saya akan terjebak lama pada bug kerangka kerja; setiap kali, seseorang telah mengalami, meneliti, dan memposting jawaban, tidak selalu jawaban yang saya harapkan, tetapi masih sesuatu yang menggerakkan saya untuk maju. Dengan rilis 2015 mendatang, .NET Core akan menjadi open-source dan tersedia di sistem non-Windows.

Alasan #2: ASP.NET Telah Berevolusi

tumpukan microsoft

Melihat kembali tumpukan Microsoft web-to-database tradisional dari 10 tahun yang lalu, menarik untuk melihat bagian mana yang bertahan dalam ujian waktu dan bagian mana yang memudar. Sementara bagian belakang tumpukan Microsoft tetap hampir tidak berubah (kami masih menggunakan rangkaian pola dan komponen yang sama, seperti Injeksi Ketergantungan, Tugas, Linq, EF atau ADO), bagian depan, bagian ASP.NET, melihat perubahan mendasar dari "lakukan dengan cara Microsoft" (yaitu Formulir Web) menjadi "lakukan dengan cara Anda dan gunakan ASP.NET sebagai platform." Saat ini, ASP.NET adalah kerangka kerja berbasis MVC yang menampilkan infrastruktur kuat untuk otentikasi, bundling, dan perutean yang terintegrasi dengan banyak teknologi non-Microsoft seperti Bootstrap dan AngularJS. Situs ASP.NET terlihat bagus di berbagai faktor bentuk, dari ponsel hingga desktop, dan kemampuan API Web-nya membuat mengekspos layanan web menjadi mudah. Kerangka kerja telah menjadi sumber terbuka selama beberapa tahun, jadi jika Anda mengalami masalah, sumbernya tersedia di GitHub. ASP.NET telah berubah, dan berubah menjadi lebih baik.

Alasan #3: Kesederhanaan Web API dan Kekuatan WCF

web dan microsoft stack

Kutipan favorit saya sepanjang masa adalah dari Alan Kay yang mengatakan, “Hal-hal sederhana seharusnya sederhana; hal-hal yang kompleks harus mungkin”. Ketika Windows Communication Foundation (WCF) pertama kali keluar pada tahun 2006, itu sama sekali tidak sederhana; perilaku, titik akhir, dan ikatan sangat banyak. Jadi, Microsoft merilis Web API, kerangka kerja yang mudah digunakan yang membuat layanan web HTTP menjadi mudah. Dengan beberapa baris konfigurasi, API Anda berubah menjadi layanan web "standar industri" yang aman.

Jika kasus penggunaan Anda tidak sesuai dengan cetakan "standar", dan Anda memerlukan kontrol penuh atas bagaimana API Anda diekspos melalui kabel, Anda selalu dapat kembali menggunakan WCF. Dengan segudang opsi konfigurasi dan kait, WCF memungkinkan Anda membuat serialisasi data, log, intersep, merutekan pesan, menggunakan peer-to-peer dan antrian, dan banyak lagi. Web API, bersama dengan WCF, memberikan kedua prinsip kutipan Kay: jika Anda membutuhkan layanan web sederhana, Anda selesai dalam beberapa menit dengan Web API; jika persyaratan layanan Anda rumit, "semua" dimungkinkan dengan WCF. Kedua teknologi ini menyediakan cakupan skenario layanan yang komprehensif dan dikemas dengan kerangka kerja .NET.

Alasan #4: SQL Server Sekokoh Sebelumnya

Selama bertahun-tahun, sepertinya gelombang pasang bahasa pengembangan baru, kerangka kerja dan pola datang melalui tingkat depan dan menengah dan menyelamatkan database back-end. Lagi pula, "SELECT" lama yang bagus masih banyak digunakan saat ini seperti 20 tahun yang lalu. Saya kira ini disebabkan oleh fakta bahwa banyak perusahaan melihat data mereka sebagai inti bisnis mereka, dan menjaga integritas inti itu jauh melebihi kegembiraan mencoba "sesuatu yang baru" di lapisan basis data.

SQL Server unggul dalam peran utamanya sebagai penyimpan data dengan segudang fitur untuk transaksi, integritas referensial, pencadangan, pencerminan, dan replikasi, tetapi yang membedakan SQL Server dari kompetisi adalah seberapa baik integrasinya dengan tumpukan Microsoft lainnya. Untuk perkembangan pesat, ada Entity Framework, saat ini dalam versi 6, melewati masa remaja dan memenuhi janjinya untuk merampingkan akses data dengan baik. Jika Anda membutuhkan daya komputasi, .NET Framework dimuat dalam proses dengan SQL Server, artinya Anda dapat menyematkan kode .NET sebagai prosedur, fungsi, atau agregat tersimpan tanpa mengorbankan kinerja. Pasangkan itu dengan fakta bahwa SQL Server 2014 hadir dengan tabel dalam memori, dan Anda dapat menemukan beberapa solusi waktu nyata yang cukup apik yang tidak dapat dibuat cukup cepat hanya dengan SQL dan tabel biasa. Setelah bertahun-tahun di industri ini, SQL Server masih di atas daftar RDBMS saya.

Alasan #5: Mudah Diuji

Sering kali, bekerja di TI perusahaan, saya melihat perangkat lunak berubah menjadi kotak hitam yang tak tersentuh ini karena tidak ada tes, dan tidak ada yang ingin mengacaukan kode karena takut "melanggar sesuatu yang lain". Kemudian, saya mengerjakan sistem yang memiliki ribuan pengujian, dan merupakan perasaan yang luar biasa untuk dapat memberi tahu bisnis bahwa, "ya, kami dapat membuat perubahan ini," bertahun-tahun setelah perangkat lunak dirilis. Tumpukan Microsoft dirancang dengan mempertimbangkan kemampuan pengujian. ASP.NET MVC memiliki kait untuk injeksi ketergantungan, dan dalam versi 5, injeksi ketergantungan akan disertakan dalam kerangka itu sendiri. Di tingkat menengah, ini adalah cerita yang serupa: kami menggunakan injeksi ketergantungan untuk memisahkan implementasi dari antarmuka, yang memungkinkan kami menukar tipe produksi dengan tiruan pada waktu pengujian. Bahkan di sisi database, ada SQL Server Data Tools yang datang dengan template untuk pengujian terhadap lapisan prosedur tersimpan. Pengujian merupakan bagian tak terpisahkan dari proses pengembangan perangkat lunak saat ini, dan Microsoft stack dilengkapi dengan baik untuk kenyataan baru ini.

Alasan #6: Ekosistem Pendukung yang Rumit

Ketika datang ke dukungan, itu bagus untuk memiliki berbagai pilihan, dimulai dengan forum komunitas dan diakhiri dengan manusia hidup yang sebenarnya bekerja di tempat di server Anda. Ekosistem online untuk produk Microsoft adalah salah satu yang terbesar di industri ini. Bagaimanapun, Microsoft dimulai oleh Bill Gates, seorang pengembang perangkat lunak sendiri, yang melihat adopsi yang luas oleh para pengembang sebagai kunci untuk proliferasi produk Microsoft. Itu berarti memberikan pengembang ini banyak dan banyak dukungan.

Microsoft adalah salah satu yang pertama mendorong karyawannya untuk menulis blog tentang teknologi yang sedang mereka kerjakan, dan sementara industri lainnya pasti telah menyusul, jumlah dan kualitas video instruksional, panduan, dan artikel yang datang langsung dari Microsoft saat ini masih sangat mengesankan. Lapisan konten online berkualitas itu dilengkapi dengan sejumlah besar ekosistem pendukung berbasis komunitas seperti StackOverflow, yang tidak begitu konsisten dalam hal kualitas konten, tetapi, bagaimanapun, jauh lebih bermanfaat daripada tidak.

Terakhir, selalu ada opsi untuk mengangkat telepon dan menghubungi dukungan Microsoft. Saya jarang harus menggunakannya, tetapi ada beberapa keadaan darurat produksi ketika pengembang Microsoft menganalisis dump inti menyelamatkan hari itu. Kisaran opsi dukungan jelas merupakan faktor yang mendukung untuk menggunakan tumpukan Microsoft.

Alasan #7: Microsoft Berpegang teguh pada Produknya

Beberapa tahun yang lalu, memilih Microsoft Silverlight sebagai front-end untuk sebuah aplikasi tampak seperti pilihan yang valid, tapi itu tidak lagi terjadi. Dengan tren seluler dalam ayunan penuh dan kerangka kerja JavaScript yang mendominasi ruang front-end, Silverlight tidak lagi menjadi pilihan yang layak; Namun, itu masih didukung oleh Microsoft hingga tahun 2021. Microsoft tetap berpegang pada senjatanya, yang bagus bagi kita yang harus membuat pilihan teknologi tanpa memiliki bola delapan ajaib untuk memberi tahu kita tren teknologi apa yang akan mendominasi lanskap perangkat lunak di masa depan. Pergi dengan tumpukan Microsoft memastikan bahwa waktu dan uang diinvestasikan ke dalam teknologi yang akan didukung bahkan jika itu tidak disukai oleh industri.

Alasan #8: Payung Visual Studio

Satu dekade yang lalu, saya menghabiskan sekitar 50 persen waktu saya bekerja di Visual Studio dan sekitar 50 persen di alat lain. Hari ini, perpecahan sangat mendukung Visual Studio. Visi Microsoft untuk Visual Studio menjadi solusi satu atap untuk hosting IDE akan membuahkan hasil dengan banyak produk Microsoft dan non-Microsoft yang menawarkan beberapa tingkat integrasi dengan Visual Studio. Dari pengembangan basis data dengan SQL Server Data Tools hingga menulis aplikasi iPad dan Android dengan Xamarin, Visual Studio memberikan pengalaman pengembang yang familier dengan antarmuka pengguna yang konsisten. Hal yang sama dapat dikatakan tentang bekerja dengan Microsoft Azure, platform cloud yang mencakup berbagai layanan mulai dari hosting basis data hingga layanan seluler.

Visual Studio mengaburkan kompleksitas infrastruktur cloud terdistribusi membuat pengalaman mengembangkan aplikasi cloud konsisten dengan mengembangkan aplikasi yang tidak dihosting di cloud. Semua bagian tampaknya cocok satu sama lain di bawah payung Visual Studio, membuat proses pengembangan secara keseluruhan menjadi sangat efisien.

Microsoft Stack - Yang Terbaik dari Kedua Dunia

Saat ini, ada jauh lebih banyak pilihan untuk menulis perangkat lunak berkualitas dibandingkan 10 tahun yang lalu. Hal tersebut tentu merupakan hal yang baik karena persaingan memaksa para pemain besar, seperti Google, Apple, Amazon dan Microsoft, untuk terus berinovasi dan tidak berpuas diri. Sementara Microsoft telah didorong dari puncak gunung oleh evolusi teknologi dekade terakhir, perusahaan telah menunjukkan bahwa itu bersedia untuk beradaptasi dan selaras dengan realitas tren teknologi saat ini. ASP.NET merangkul teknologi dan metodologi lain, banyak di antaranya open source, dengan Formulir Web asli memudar ke dalam sejarah. Kerangka kerja .NET terus berkembang, mendobrak batas baru dengan perpustakaan untuk komputasi multi-threading dan banyak-inti. Dengan rilis 2015 yang akan segera terjadi, inti dari kerangka kerja akan menjadi sumber terbuka dan portabel untuk platform non-Windows, yang merupakan langkah menuju inklusivitas dan transparansi.

Peningkatan yang disambut baik ini datang dari perusahaan yang memiliki proses lama untuk merilis perangkat lunak yang telah diuji, didokumentasikan, dan didukung. Pergi dengan tumpukan Microsoft menghadirkan kegembiraan bekerja dengan bahasa dan kerangka kerja modern ditambah stabilitas yang didukung oleh raksasa perangkat lunak dengan pengalaman puluhan tahun dalam industri pengembangan. Inilah mengapa saya merekomendasikan tumpukan Microsoft hari ini.