Programování

Visual Basic je zvláštní člověk v novém .NET

V sérii blogových příspěvků minulý týden Microsoft podrobně popsal zásadní změny ve vývoji svých .NET jazyků. Pro vývojáře C # a F # to byla dobrá zpráva, ale zatímco Microsoft kladl pozitivní důraz na to, co změny pro Visual Basic znamenaly, zdá se, že dlouhodobá budoucnost ctihodného jazyka je méně jistá.

Microsoft Visual Basic je již dlouho jedním ze světových, ne-li oblíbených, pak určitě jedním z nejpoužívanějších jazyků a Microsoft se tak stal středem podnikové fáze. Od prvních šesti iterací jako jazyka pro vývoj aplikací klient-server až po jejich znovuzrození jako součást platformy .NET je Visual Basic nástrojem pro rychlý vývoj podnikových aplikací. Částečně je to díky jeho rozsáhlé knihovně komponent uživatelského rozhraní spolu s konektory k běžným databázím a modelu komponent, který umožňuje třetím stranám budovat podniky na poskytování dalších funkcí.

Přechod na .NET jako základ vývojové strategie společnosti Microsoft měl smysl pro nové jazyky, jako je C #, ale znamenalo to změny jazyka, kde kód nemohl snadno migrovat ze starého jazyka do nového VB.NET.

Pro vývojáře to byl náročný přechod a Visual Basic začal ztrácet podíl na mysli uvnitř podnikového vývoje - a uvnitř Microsoftu. Přesto společnost Microsoft slíbila, že bude synchronizovat C # a VB.NET. Funkce vytvořené pro C # by se staly součástí jazyka, dvou jazyků vyvíjejících se společně. Důvodem bylo, že se často používaly pro stejný úkol a měly stejnou základní povahu: oba silně napsané objektově orientované jazyky pracující se stejnými nástroji.

Visual Basic a C #: Nová divergence přichází

S oznámením z minulého týdne je tato společná evoluce pryč. Microsoft nechá tyto dva jazyky jít různými způsoby, počínaje brzy vydaným Visual Basic 15.

Není to překvapivý rozvod. Popularita C # vzrostla mílovými kroky, zatímco Visual Basic pomalu sklouzl z grafů a téměř zmizel z radaru populárních webů s dotazem na programování, jako je Stack Overflow. Mění se také případy použití: Visual Basic je stále zaměřen na své původní paradigma klient-server, zatímco C # se stal nástrojem pro n-tier webové aplikace, práce v cloudu a v prostorách. S více a více aplikacemi vytvořenými pro práci s webem a cloudem není divu, že se C # stává první volbou pro mnoho projektů.

Existují také změny ve vývoji jazyků. C # se přesunul k otevřenému designovému modelu, což znamená, že jeho uživatelé jsou na sedadle řidiče, aby upřednostňovali nové funkce, a to díky aktivnímu seznamu adres a veřejnému úložišti GitHub. Microsoft již převzal nové funkce zvenčí společnosti - velkou změnu oproti tradičním procesům jazykového inženýrství, které se zaměřily na její výzkumné skupiny a interní týmy pro správu produktů.

Visual Basic má také otevřený designový model, ale má jiné priority než C #. Již podporuje podmnožinu funkcí C # ve svých aktuálních sestaveních jako součást kandidáta na vydání Visual Studio 2017.

Vzhledem k tomu, že se C # nadále liší od jazyka Visual Basic, uvidíme, jak se tyto dva jazyky budou vyvíjet samostatně, i když by měly být schopné spolupracovat. Oba by měli i nadále řešit stejná rozhraní .NET API a obě budou stále součástí nástrojů sady Visual Studio.

Co tyto změny znamenají pro podnikové vývojáře

V tuto chvíli je pro podniky velmi málo toho, co by mělo s touto nadcházející divergencí udělat.

Ale v budoucnu určitě existuje prostor pro práci na různých platformách v jazyce Visual Basic, protože se přesouvá k podpoře sady .NET Standard sad knihoven základních tříd vedle známého .NET Framework. Ačkoli některý kód bude přenosný, ne všechny kódy jazyka Visual Basic budou moci provést skok z jedné sady knihoven do jiné menší sady. Je pravděpodobné, že stávající kód zůstane čistě v systému Windows a čistě v místních aplikacích.

Jako vývojář si budete muset vybrat mezi přenesením kódu jazyka na novější platformy prostřednictvím .NET Standard nebo přesunem do jazyků, jako je C #, které nabízejí širší škálu cílových rozhraní a zařízení.

Protože .NET Standard je určen pro všechny platformy .NET, je důležitým ekvalizérem. Není to však nutné pro všechny jazyky .NET. I když to Visual Basic bude potřebovat v systémech, které nemají plný .NET Framework, C # bude moci přímo řešit platformy jako .NET Core a přistupovat k jeho API. To také usnadňuje derivátům C #, jako je Unity, podporovat své vlastní specializované API.

C # s podporou .NET Framework pro Windows a open source .NET Core (běžící na Nano Serveru a v kontejnerech) se stane první volbou pro cloud a pro mobilní aplikace, zatímco model funkčního programování F # bude ideální pro finanční služby a aplikace, které se spoléhají na strojové učení.

Jednoznačným hnacím motorem těchto změn je akvizice společnosti Microsoft Xamarin. Společnost Microsoft potřebuje sadu nástrojů pro různé platformy, aby podporovala širší škálu mobilních zařízení, přičemž Windows Mobile nedokázal získat podíl na trhu podle očekávání. I v zeměpisných oblastech vhodných pro Windows Mobile, jako je Velká Británie, mají iOS a Android více než 80 procent trhu. Vývojáři společnosti Microsoft, kteří chtějí pro své aplikace vytvářet mobilní rozhraní, budou muset k cílení na dominantní mobilní platformy použít nástroje jako Xamarin.

S Xamarin se zaměřením na C #, Microsoft musí objasnit, že C # je prvotřídní jazyk .NET do budoucna. Ačkoli to v nedávných jazykových oznámeních společnosti Microsoft není výslovně uvedeno, je to silně naznačeno.

Jak byste měli spravovat svou strategii podnikového jazyka

To není rozloučení s Visual Basic, ale je čas zhodnotit, kde jste a kde chcete být. Existující aplikace jazyka Visual Basic lze nadále vyvíjet, ale jak se vyvíjí základní platforma .NET, měli byste očekávat, že vývojářům jazyka Visual Basic bude k dispozici pouze podmnožina rozhraní .NET API. I když to v krátkodobém horizontu pravděpodobně nebude problém, měli byste se připravit na dlouhodobější migraci na C # nebo F #, zvláště pokud plánujete pro své aplikace mobilní nebo multiplatformní uživatelské prostředí.

Zdá se jasné, že nejlepší možností, jak se vyhnout přesahu technického dluhu, je nastavit C # jako prioritu pro nový vývoj. C # má prvotřídní podporu a uživatelský designový model. Je také srdcem vývoje napříč platformami společnosti Microsoft a její univerzální platformy Windows. To znamená, že můžete napsat obchodní logiku jednou a poté poskytnout vlastní uživatelské prostředí pro web, Windows 10, iOS, Android a MacOS. Existuje také dostatek jazykových shod, že vývojáři by měli být schopni provést přechody relativně snadno a po počátečním zaškolení vyzvednout nové funkce.