Programiranje

Visual Basic je čuden človek v novem .NET-u

V seriji objav v blogu prejšnji teden je Microsoft podrobno opisal temeljne spremembe v načinu razvijanja svojih jezikov .NET. To je bila dobra novica za razvijalce C # in F #, toda medtem ko je Microsoft pozitivno ocenil, kaj spremembe pomenijo za Visual Basic, se zdi dolgoročna prihodnost častitljivega jezika manj gotova.

Microsoftov Visual Basic je že dolgo eden izmed najbolj priljubljenih jezikov na svetu, potem pa zagotovo eden najpogosteje uporabljenih jezikov in Microsoft je resnično postavil v središče poslovne faze. Visual Basic je bil od prvih šestih ponovitev kot jezika za razvoj odjemalsko-strežniških aplikacij do njegovega ponovnega rojstva kot dela .NET platforme orodje za hiter razvoj poslovnih aplikacij. To je deloma posledica velike knjižnice komponent uporabniškega vmesnika, skupaj s priključki na običajne zbirke podatkov in modelom komponent, ki tretjim osebam omogoča gradnjo podjetij na zagotavljanju dodatne funkcionalnosti.

Prehod na .NET kot temelj za Microsoftovo razvojno strategijo je bil smiseln za nove jezike, kot je C #, vendar je pomenil spremembe Visual Basic-a, kjer koda ni mogla zlahka migrirati iz starega Visual Basic-a v novo VB.NET.

Za razvijalce je bil zahteven prehod, Visual Basic pa je začel izgubljati delež misli v razvoju podjetja - in znotraj Microsofta. Kljub temu je Microsoft obljubil, da bosta sinhronizirala C # in VB.NET. Funkcije, ustvarjene za C #, bi postale del Visual Basic-a, obeh jezikov, ki se razvijata skupaj. Razlog je bil, da so jih pogosto uporabljali za isto nalogo in so imeli enako osnovno naravo: oba močno tipkana, objektno usmerjena jezika, ki delata z istimi orodji.

Visual Basic in C #: Prihaja nova razlika

Z napovedjo prejšnjega tedna ta koevolucija ni več. Microsoft bo pustil oba jezika različno, začenši s Visual Basic 15, ki bo kmalu izšel.

Ni presenetljiva ločitev. Priljubljenost C # je hitro naraščala, medtem ko je Visual Basic počasi zdrsnil po lestvicah in skoraj izginil z radarja priljubljenih spletnih mest za poizvedbe, kot je Stack Overflow. Spreminjajo se tudi primeri uporabe: Visual Basic je še vedno osredotočen na svojo prvotno paradigmo odjemalec-strežnik, medtem ko je C # postal orodje za n-tier spletne aplikacije, ki delujejo v oblaku in v prostorih. Z vedno več aplikacijami, izdelanimi za delo s spletom in oblakom, ni presenetljivo, da postaja C # prva izbira za številne projekte.

Tudi v razvoju jezikov se spreminjajo. C # se je premaknil k odprtemu dizajnerskemu modelu, kar pomeni, da so njegovi uporabniki na voznikovem sedežu zaradi prednostnih nalog novim funkcijam, zahvaljujoč aktivnemu poštnemu seznamu in javnemu skladišču GitHub. Microsoft je že prevzel nove funkcije zunaj podjetja - velika sprememba v primerjavi s tradicionalnimi postopki jezikovnega inženiringa, ki so se osredotočili na njegove raziskovalne skupine in notranje ekipe za upravljanje izdelkov.

Visual Basic ima tudi odprt model oblikovanja, vendar ima drugačne prioritete kot C #. Kot del kandidata za izdajo Visual Studio 2017 že podpira podnabor funkcij C # v svojih trenutnih gradnjah.

Ker se C # še vedno razlikuje od Visual Basic-a, bomo videli, da se bosta jezika razvijala ločeno, čeprav bi morala biti sposobna sodelovati. Oba bi morala še vedno naslavljati iste API-je .NET, oba pa bosta še vedno del orodij Visual Studio.

Kaj te spremembe pomenijo za razvijalce podjetij

Trenutno podjetja ne morejo storiti ničesar glede te prihajajoče razlike.

Toda v prihodnosti v Visual Basic-u zagotovo obstaja prostor za delo na več platformah, saj prehaja na podporo nabora knjižnic osnovnega razreda .NET Standard skupaj z znanim .NET Framework. Čeprav bo neka koda prenosljiva, vse kode Visual Basic ne bodo mogle preskočiti z enega nabora knjižnic na drugega manjšega nabora. Verjetno bo obstoječa koda ostala zgolj v operacijskem sistemu Windows in samo v lokalnih aplikacijah.

Kot razvijalec boste morali izbirati med prenosom kode Visual Basic na novejše platforme prek .NET Standard ali prehodom na jezike, kot je C #, ki ponujajo širši nabor ciljnih okvirov in naprav.

Ker je .NET Standard namenjen vsem .NET platformam, je pomemben izenačevalnik. Vendar to ni potrebno za vse jezike .NET. Čeprav ga bo Visual Basic potreboval v sistemih, ki nimajo celotnega .NET Framework, bo C # lahko neposredno naslavljal platforme, kot je .NET Core, in dostopal do svojih API-jev. To tudi olajša izpeljanke C #, kot je Unity, da podpirajo svoje posebne API-je.

C # s podporo za .NET Framework v operacijskem sistemu Windows in odprtokodni .NET Core (ki se izvaja v strežniku Nano in v vsebnikih) bo prva izbira za oblak in mobilne aplikacije, medtem ko bo model funkcionalnega programiranja F # idealen za finančne storitve. in aplikacije, ki se zanašajo na strojno učenje.

Jasno gonilo teh sprememb je Microsoftov prevzem Xamarin. Microsoft potrebuje večplastna orodja za podporo širši paleti mobilnih naprav, pri čemer Windows Mobile ni uspel pridobiti tržnega deleža v podjetju, kot je upal. Tudi v okoljih Windows Mobile, kot je Združeno kraljestvo, imata iOS in Android skupaj več kot 80 odstotkov trga. Microsoftovi razvijalci, ki želijo za svoje aplikacije izdelati mobilne končnike, bodo morali uporabiti orodja, kot je Xamarin, za ciljanje na dominantne mobilne platforme.

Ker se Xamarin osredotoča na C #, mora Microsoft jasno povedati, da je C # prvovrstni jezik .NET za naprej. Čeprav to v Microsoftovih nedavnih jezikovnih objavah ni izrecno, to močno nakazuje.

Kako bi morali upravljati jezikovno strategijo podjetja

To se ne poslavlja od Visual Basic, vendar je čas, da si ogledate, kje ste in kje želite biti. Obstoječe aplikacije Visual Basic lahko še naprej razvijamo, toda z razvojem osnovne platforme .NET bi morali pričakovati, da bodo razvijalcem Visual Basic na voljo le podnabori API-jev .NET. Čeprav to kratkoročno verjetno ne bo težava, se pripravite na dolgoročnejšo selitev na C # ali F #, še posebej, če za svoje aplikacije načrtujete uporabniško izkušnjo na mobilnih napravah ali na več platformah.

Jasno je, da je najboljša možnost, da se izognemo preseganju tehničnega dolga, da C # postane vaša prednostna naloga za nov razvoj. C # ima prvovrstno podporo in uporabniški model oblikovanja. Prav tako je srce Microsoftovega razvoja več platform in njegove univerzalne platforme Windows. To pomeni, da lahko enkrat napišete poslovno logiko, nato pa zagotovite uporabniške izkušnje po meri za splet, Windows 10, iOS, Android in MacOS. Obstaja tudi dovolj skupnih jezikov, da bi razvijalci lahko razmeroma enostavno izvedli prehode in po začetnem usposabljanju pobrali nove funkcije.

$config[zx-auto] not found$config[zx-overlay] not found