Opt motive pentru care Microsoft Stack este încă o alegere viabilă
Publicat: 2022-03-11Viața a fost grozavă pentru dezvoltatorii Microsoft acum 10 ani. Companiile au fost mulțumite că au folosit 100% Microsoft pentru proiectele lor de dezvoltare. Cu ASP.NET pe front-end, .NET middle-tier și SQL Server pe backend, lucrurile au funcționat foarte bine în cea mai mare parte. Când nu au făcut-o, dezvoltatorii au acceptat doar asta ca pe ceva care vine cu teritoriu. Microsoft conducea emisiunea. Apoi, la sfârșitul ultimului deceniu, statutul de gorilă de 800 de lire a Microsoft a început să se destrame. Poate s-a datorat introducerii iPhone-ului și că Microsoft nu a trecut la mobil, sau poate din cauza proliferării proiectelor open source, dar lucrurile s-au schimbat, iar astăzi aceleași companii trebuie să fie convinse că a merge cu Microsoft Stack este o idee buna. Acest articol prezintă opt motive în favoarea rămânerii cu stiva de software Microsoft.
Motivul #1: .NET este încă unul dintre cele mai bune
Introdus în urmă cu mai bine de 10 ani, .NET Framework este bogat în funcții și a fost testat complet în luptă. Deși era un lucru obișnuit să combinați dezvoltarea nativă cu codul gestionat în primele zile ale .NET, marea majoritate a sarcinilor de dezvoltare sunt acceptate în prezent. Chiar și companii precum Oracle au lansat componente care sunt 100% cod gestionat .NET (adică driver gestionat ODP.NET) pentru a interfața cu produsele lor. .NET API este consecvent, bine documentat și folosit de milioane.
Baza de cunoștințe disponibilă prin MSDN, StackOverflow și mii de forumuri și bloguri este masivă. În anii mei de dezvoltare în .NET, nu îmi amintesc un caz în care aș rămâne blocat pentru mult timp într-un bug de cadru; de fiecare dată, cineva deja experimentase, cercetase și postase un răspuns, nu întotdeauna răspunsul pe care îl speram, dar totuși ceva care m-a îndemnat. Odată cu viitoarea lansare din 2015, .NET Core va fi open-source și va fi disponibil pe sisteme non-Windows.
Motivul #2: ASP.NET a evoluat
Privind înapoi la stiva tradițională de web-to-base de date Microsoft de acum 10 ani, este interesant de văzut care părți au supraviețuit testului timpului și care părți au disparut. În timp ce back-end-ul stivei Microsoft a rămas aproape neschimbat (folosim în continuare același set de modele și componente, cum ar fi Dependency Injection, Tasks, Linq, EF sau ADO), front-end-ul, piesa ASP.NET, a văzut o schimbare fundamentală de la „fă-o în modul Microsoft” (adică formulare web) la „fă-o în felul tău și folosește ASP.NET ca platformă”. Astăzi, ASP.NET este un cadru bazat pe MVC, cu o infrastructură robustă pentru autentificare, grupare și rutare, care se integrează cu multe tehnologii non-Microsoft, cum ar fi Bootstrap și AngularJS. Site-urile ASP.NET arată bine pe o gamă largă de factori de formă, de la telefoane la desktop-uri, iar capabilitățile sale Web API fac ca expunerea serviciilor web să fie o ușoară. Cadrul a fost open-source de câțiva ani, așa că dacă rămâneți blocat cu o problemă, sursa este disponibilă pe GitHub. ASP.NET s-a schimbat și s-a schimbat în bine.
Motivul #3: Simplitatea API-ului web și puterea WCF
Citatul meu preferat din toate timpurile este din Alan Kay care a spus: „Lucrurile simple ar trebui să fie simple; lucrurile complexe ar trebui să fie posibile”. Când Windows Communication Foundation (WCF) a apărut pentru prima dată în 2006, a fost orice altceva decât simplu; comportamentele, punctele finale și legăturile au fost copleșitoare. Așadar, Microsoft a lansat Web API, un cadru ușor de utilizat care face expunerea serviciilor web HTTP o simplă. Cu câteva linii de configurare, API-ul dvs. se transformă într-un serviciu web sigur, „standard din industrie”.
Dacă cazul dvs. de utilizare nu se potrivește modelului „standard” și aveți nevoie de control deplin asupra modului în care API-ul dvs. este expus prin cablu, puteți oricând să recurgeți la WCF. Cu multitudinea de opțiuni de configurare și cârlige, WCF vă permite să vă serializați datele, să vă înregistrați, să interceptați, să rutați mesajul, să utilizați peer-to-peer și coada de așteptare și multe altele. Web API, împreună cu WCF, asigură ambele principii ale citației lui Kay: dacă aveți nevoie de un serviciu web simplu, ați terminat în câteva minute cu Web API; dacă cerințele dvs. de servicii sunt complexe, „toate” sunt posibile cu WCF. Aceste două tehnologii oferă o acoperire cuprinzătoare a scenariilor de servicii și sunt pre-ambalate cu framework-ul .NET.
Motivul #4: SQL Server este la fel de solid ca întotdeauna
Timp de mulți ani, s-a părut că valul mare de noi limbaje de dezvoltare, cadre și modele a trecut prin nivelurile frontale și intermediare și a cruțat back-end-ul bazei de date. La urma urmei, vechiul „SELECT” este încă la fel de utilizat astăzi ca acum 20 de ani. Presupun că acest lucru se datorează faptului că multe companii își văd datele ca nucleul afacerii lor, iar păstrarea integrității acelui nucleu depășește cu mult entuziasmul de a încerca „ceva nou” la nivelul bazei de date.
SQL Server excelează în rolul său principal de păstrător de date cu o multitudine de caracteristici pentru tranzacții, integritate referențială, copii de rezervă, oglindire și replicare, dar ceea ce diferențiază SQL Server de concurență este cât de bine se integrează cu restul stivei Microsoft. Pentru o dezvoltare rapidă, există Entity Framework, în prezent în versiunea 6, a trecut adolescența și și-a îndeplinit bine promisiunea de a simplifica accesul la date. Dacă aveți nevoie de putere de calcul, .NET Framework este încărcat în proces cu SQL Server, ceea ce înseamnă că puteți încorpora codul .NET ca proceduri stocate, funcții sau agregate fără a sacrifica performanța. Asociați asta cu faptul că SQL Server 2014 vine cu tabele în memorie și puteți veni cu câteva soluții destul de elegante în timp real care nu ar putea fi realizate suficient de rapid doar cu SQL și tabele obișnuite. După ani de activitate în industrie, SQL Server este încă în fruntea listei mele de RDBMS-uri.
Motivul #5: este ușor de testat
De atâtea ori, lucrând în IT corporativ, am văzut software-ul transformându-se în aceste cutii negre de neatins pentru că nu existau teste și nimeni nu a vrut să se încurce cu codul de teamă să nu „rupă altceva”. Apoi, am lucrat la sisteme care au avut mii de teste și a fost un sentiment grozav să pot spune afacerilor că „da, putem face aceste schimbări”, la ani după ce software-ul a fost lansat. Stiva Microsoft este concepută având în vedere capacitatea de testare. ASP.NET MVC are cârlige pentru injectarea dependenței, iar în versiunea 5, injectarea dependenței va fi inclusă în cadrul propriu-zis. În nivelul de mijloc, este o poveste similară: folosim injecția de dependență pentru a disocia implementarea de interfață, ceea ce ne permite să schimbăm tipurile de producție cu mock-uri în timpul testării. Chiar și în ceea ce privește baza de date, există instrumente de date SQL Server care vin cu șabloane pentru testarea față de stratul de procedură stocată. Testarea este o parte inseparabilă a procesului de dezvoltare de software astăzi, iar stiva Microsoft vine bine echipată pentru această nouă realitate.

Motivul #6: Ecosistem de sprijin elaborat
Când vine vorba de asistență, este plăcut să ai o serie de opțiuni, începând cu forumurile comunitare și terminând cu o ființă umană reală care lucrează la fața locului pe serverul tău. Ecosistemul online pentru produsele Microsoft este unul dintre cele mai mari din industrie. La urma urmei, Microsoft a fost lansat de Bill Gates, un dezvoltator de software însuși, care a văzut adoptarea pe scară largă de către dezvoltatori ca fiind cheia proliferării produselor Microsoft. Asta a însemnat să le oferim acestor dezvoltatori mult și mult sprijin.
Microsoft a fost printre primii care și-au încurajat angajații să scrie un blog despre tehnologia la care lucrau și, în timp ce restul industriei a ajuns din urmă, cantitatea și calitatea videoclipurilor instructive, ghidurilor și articolelor care vin direct de la Microsoft astăzi este încă foarte impresionant. Acest strat de conținut online de calitate este completat de un număr mare de ecosisteme de suport bazate pe comunitate, cum ar fi StackOverflow, care nu sunt la fel de consistente când vine vorba de calitatea conținutului, dar sunt, totuși, mult mai utile decât nu.
În cele din urmă, există întotdeauna o opțiune de a ridica telefonul și de a apela asistența Microsoft. Rareori a trebuit să-l folosesc, dar au existat câteva situații de urgență de producție când dezvoltatorii Microsoft analizează depozitele de bază au salvat ziua. Gama de opțiuni de asistență este în mod clar un factor favorabil pentru a merge cu stiva Microsoft.
Motivul #7: Microsoft se ține de produsele lor
Cu câțiva ani în urmă, alegerea Microsoft Silverlight ca front-end pentru o aplicație părea o alegere validă, dar nu mai este cazul. Cu tendința mobilă în plină desfășurare și cadrele JavaScript dominând spațiul front-end, Silverlight nu mai este o opțiune fezabilă; cu toate acestea, este în continuare susținut de Microsoft până în 2021. Microsoft se ține de armele sale, ceea ce este bun pentru cei dintre noi care trebuie să facă alegeri tehnologice fără a avea o minge magică opt pentru a ne spune ce tendință tehnologică va domina peisajul software în viitor. Utilizarea stivei Microsoft asigură investirea timpului și a banilor în tehnologie care va fi susținută, chiar dacă nu este favorabilă industriei.
Motivul #8: Visual Studio Umbrella
Acum un deceniu, îmi petreceam aproximativ 50% din timp lucrând în Visual Studio și aproximativ 50% în alte instrumente. Astăzi, divizarea este în mare parte în favoarea Visual Studio. Viziunea Microsoft ca Visual Studio să fie o soluție unică pentru găzduirea IDE-urilor se concretizează cu multe produse Microsoft și non-Microsoft care oferă un anumit nivel de integrare cu Visual Studio. De la dezvoltarea bazei de date cu SQL Server Data Tools la scrierea de aplicații pentru iPad și Android cu Xamarin, Visual Studio oferă o experiență familiară pentru dezvoltatori, cu o interfață de utilizator consistentă. Același lucru se poate spune despre lucrul cu Microsoft Azure, o platformă cloud care cuprinde o varietate de servicii, de la găzduirea bazelor de date la servicii mobile.
Visual Studio a obscurcat complexitățile infrastructurii cloud distribuite, făcând experiența dezvoltării de aplicații cloud consecventă cu cea a dezvoltării de aplicații care nu sunt găzduite în cloud. Toate piesele par să se potrivească frumos sub umbrela Visual Studio, ceea ce face ca procesul general de dezvoltare să fie foarte eficient.
Microsoft Stack - Cel mai bun din ambele lumi
Astăzi, există mult mai multe opțiuni pentru scrierea de software de calitate, comparativ cu acum 10 ani. Acesta este cu siguranță un lucru bun, deoarece concurența îi obligă pe jucătorii mari, precum Google, Apple, Amazon și Microsoft, să continue să inoveze și să nu devină mulțumiți. În timp ce Microsoft a fost împins din vârful muntelui de evoluția tehnologică din ultimul deceniu, compania a arătat că este dispusă să se adapteze și este adaptată la realitățile tendințelor tehnologice actuale. ASP.NET a îmbrățișat alte tehnologii și metodologii, multe dintre ele open source, formularele web originale pătrunzând în istorie. Cadrul .NET continuă să evolueze, depășind noi frontiere cu biblioteci pentru multi-threading și multi-core computing. Odată cu lansarea iminentă din 2015, nucleul cadrului va fi open-source și portabil pe platforme non-Windows, ceea ce reprezintă un pas în direcția incluziunii și transparenței.
Aceste îmbunătățiri binevenite provin de la o companie care are procese stabilite de mult timp pentru lansarea de software care este testat, documentat și susținut. Utilizarea stivei Microsoft aduce entuziasmul de a lucra cu limbi și cadre moderne plus stabilitatea de a fi susținut de un gigant de software cu zeci de ani de experiență în industria de dezvoltare. Acesta este motivul pentru care recomand stiva Microsoft astăzi.