Co čeká webové vývojáře na platformě .NET, představení .NET Core 1.0
Mirek Holec sepsal svůj pohled na .NET Core, ASP.NET Core a vývoj microsoftí webové platformy. Rozhodli jsme se o něj podělit s vámi a nechat jej tak osobní, jak vyšel i na Mirkově blogu :)
Martin
To, že se Microsoft vyžívá ve změnách názvů není žádnou novinkou. Dodal bych k tomu, že každý nový název produktů a služeb dává obvykle i větší smysl a vytváří tak jednoduchou otázku "Proč už to tak není od začátku?" . V tomto postu se zaměřím na ASP.NET 5 - dnes už ASP.NET Core 1.0 a pokusím se zmapovat, co čeká webové vývojáře v blízkých měsících.
Open Source budoucnost
Microsoft se několik posledních měsíců snaží zpřístupnit své služby a vývojářské nástroje alternativním platformám a vývojářům, kteří doposud nejsou technologiemi MS políbení. Pokud sledujete poslední dění, zejména od loňské konference Build, určitě mi dáte za pravdu, že Microsoft investuje do této strategie velké úsilí. Změny, které přijdou, jsou více než velké. Dodejme, že alternativním platformám Linux a OSX se otevírá nejen .NET ale i Microsoft Azure a všechny související nástroje.
Restart vývojářské platformy
Řada skalních příznivců WebForms má ještě v živé paměti "zaříznutí" této technologie a troufám si tvrdit, že ASP.NET i .NET jako takový čeká podobný osud. Ačkoliv na oficiálních grafech dnes vídáme ASP.NET 4.6 a novokoncepční ASP.NET Core 1.0 hrdě vedle sebe, všimněte si o kolik více místa obvykle z grafu ukrajuje ASP.NET Core 1.0 a vašemu podvědomí tak dává jasně najevo, která technologie je pro Microsoft dominantní. Oficiální stanovisko dnes zní:
"ASP.NET 4.6 continues on, released and fully supported".
A tak to pravděpodobně bude minimálně do té doby, než bude .NET Core schopný současný .NET plně zastoupit.
.NET Core 1.0 & ASP.NET Core 1.0
Konečně se dostáváme k .NET Core 1.0 a ASP.NET Core 1.0, pravděpodobně vlajkovým frameworkům v blízké budoucnosti co možná znáte pod dnes už starýmy názvy .NET Core 5 nebo v případě webového frameworku ASP.NET 5, eventuelně vNext nebo "pamětníci" Project K (a to jsme s názvy někde na začátku roku 2014).
V obou případech se bavíme o zbrusu přepsaném open source .NETu. O obou těchto technologiích a všech souvislostech jsem psal v článku:
Změna názvu vnáší do situace trochu více světla, protože mít vedle sebe ASP.NET 5 a ASP.NET 4.6 jednak nevyjadřovalo fakt, že se jedná o zcela nový framework, a jednak 0.4 je jaksi malý manévrovací prostor pro budoucí releasování verzí.
Aktuální stav .NET Core
Faktem je, že ASP.NET Core 1.0 je zatím stále jen hračkárna, která zřejmě v blízké době (měsíce) nebude schopna zastoupit libovolnou současnou aplikaci postavenou na ASP.NET, resp. MVC 3+. Pokud tedy uvažujete o migraci, doporučuji v první řadě důkladně analyzovat podporu 3rd party služeb nebo snad nejlépe počkat na stabilizaci situace (což bude s trochou štěstí v druhé polovině tohoto roku).
K webovému frameworku a jemu souvisejícím technologiím vzniká i velmi podrobná dokumentace. Pokud však budete řešit specifické problémy, bude vás čekat nepříjemné pročítání fór, která se hemží řešením problémů vůči různým beta verzím produktu (kterých vzniklo za poslední rok několik a každá s sebou přinesla řadu změn).
Zlatá éra stávajícího .NETu
Protože se historie neustále opakuje, lze očekávat, že vedle značného úsilí, které Microsoft investuje do vývoje .NET Core bude probíhat i podpora stávajícího .NETu a MVC. A protože se nebudou (snad) konat žádné velké změny, mohlo by se jednat o období stabilizace a vylepšování toho, co už nyní dobře funguje.
Pokud nyní vyvíjíte na MVC <= verze 4, nečekal bych na ASP.NET Core, ale udělal raději update na MVC 5, který je velmi stabilní a má podporu všeho, na co webový vývojář pomyslí. Společně s Entity Frameworkem 6 dostanete do rukou stabilní technologie, se kterými napíšete bez ztráty nervů snad jakoukoliv aplikaci.
S nadsázkou mám pocit, že přichází zlatá éra současného .NETu... alespoň do té doby, než ho Microsoft zruší.
Nejmodernější webové technologie zítřka
Když se podíváme na vizi Microsoftu z dlouhodobého hlediska (a bavíme se dle mého soudu již o roce 2018+) a připustíme, že všechno klapne, budeme mít k dispozici nejmodernější vývojářské nástroje, rychlý a robustní framework pro vývoj univerzálních a webových aplikací a sadu nástrojů, které pokryjí proces vývoje aplikací od nápadu, přes řízení a správu projektů až po publikaci do cloudu. A to všechno napříč všemi nejrozšířenějšími platformami. A to je velká výzva nejen pro stávající vývojáře, ale i pro ty, kteří se dnes rozhodují, jaké vývojářské platformě dají přednost. Miroslav Holec
Comments
- Anonymous
January 25, 2016
Chápu správně, že ona nová éra bude vlastně pořád už jen ta "hračkárna", kde se bude sice donekonečna skloňovat Open Source, avšak tam kde budete potřebovat vytvořit něco skutečně funkčního a stabilního (a udržovatelného), je "starý" ASP.NET xyz a .NET Framework x.y jediná možnost.Podobný trend už postihl Entity Framework v okamžiku, kdy se odtrhl od instalace .NET Frameworku. Je hezké číst o tom, jak se každý měsíc přidá nějaká vlastnost nebo se to jednou za čas udělá od začátku znovu, horší ovšem je na něčem takovém budovat projekt s životností několika let. Dokumentace (použitelná) neexistuje žádná, můžete sice hledat útržky někde (lepší případ) na MS blogu nebo (horší případ) na výkřicích na twitteru a podobných hrůzách, všude to má ale jeden společný problém, netušíte jak aktuální či správná ta informace je vzhledem k současné verzi dané knihovny.Open Source sám o sobě nic nespasí, zvláště dnes už vlastní "zdroják" nemá prakticky žádnou hodnotu. Ano, občas pomůže při hledání chyb nebo slouží místo neexistující dokumentace. Obávám se, že Microsoft (opět) zahazuje jednu z klíčových věcí a to je právě ta stabilita na které lze (šlo ?) stavět větší projekt než jen demo z prezentací. - Anonymous
January 26, 2016
Záleží na úhlu pohledu. Změna, která se připravuje je hodně velká, ale přináší řadu výhod. Bude to nový .NET Framework, který je založen na zkušenostech z předešlých verzí. Samozřejmě s každou novou verzí produktu přichází i období, během kterého bude vývojář řešit otázky zda dát přednost dosavadní odladěné verzi (s nejistou budoucností) nebo půjde novou cestou, ale za cenu většího vynaložení úsilí a akceptace chyb. To jsem se snažil naznačit i v článku. Osobně si myslím, že odtržení Entity Frameworku velmi pomohlo a přineslo řadu užitečných funkcí, na které bychom za "starých okolností" čekali podstatně déle. V tom je klíčová výhoda nového přístupu, kdy se dosavadní .NET rozpadá do menších balíčků, které mohou být rychleji fixovány a rozšiřovány. Konrétně EF je dlouhodobě stabilní a v podstatě se pouze přidávají nové funkce + vylepšuje se výkonnost. Dnes se technologie vyvíjí tak rychle, že při vývoji projektu "na několik let dopředu" se zkrátka musí počítat s tím, že k nějakým změnám na vyvíjené platformě nebo konkrétním frameworku časem dojde. Většinou to jsou drobnosti, které se dají řešit za pochodu. Velké změny jako je tato avizovaná nepřichází zas tak často. Žádnému vývojáři v podstatě nic nebrání zůstat u stávajícího .NET 4.6.x a počkat na stabilizaci situace kolem .NET Core. Pokud se vize naplní, můžeme se těšit, že komunita vývojářů kolem .NETu vzroste a nově přicházející vývojáři se připojí k budování kvalitního obsahu kolem .NETu (ať už formou open source kódu nebo sdílením zkušeností na fórech).S dokumentací souhlasím, ale i zde se to už vyjasňuje. Dokumentace vzniká k (ASP).NET Core i k Entity Framework Core. Obecně dokumentace "nových věcí" jako například Azure je naprosto bezkonkurenční. A pomáhá tomu právě forma open source, kdy i dokumentace je volně dostupná na GitHubu a komunita může dokumentaci stále aktualizovat. Už to, že dokumentace je doplňována různými videotutoriály je velký benefit.