Nedávno dostal Altair na svém ask.fm otázku na udržitelnost a budoucnost DotVVM a co si o tom myslí. Odpověděl, že jako limitující faktor nevidí nejistou budoucnost, ale relativně malý počet lidí, kteří ho znají a používají.
Rád bych k tomu doplnil svůj pohled na věc, protože si myslím, že by mohl některým lidem pomoci při rozhodování.
Projekt DotVVM jsem začal před více než 3 lety, v době, kdy bylo jasné, že Microsoft nebude dále rozvíjet velmi oblíbenou technologii ASP.NET Web Forms. “Webformy” měly spoustu svých neduhů a nevýhod, ale měly jednu unikátní vlastnost – umožnily, aby webové aplikace mohli psát i amatéři a hobby programátoři. Křivka učení webformů byla velmi přívětivá, což dokazuje i zdejší seriál o ASP.NET – druhý nejčtenější seriál na tomto webu. Dnešní technologie jsou na tom s ohledem na začátečníky mnohem hůř – proniknout do nich není vůbec jednoduché.
DotVVM řeší velkou část problémů, které Web Forms měly, a zároveň se snaží zůstat jednoduché. Nepotřebujete umět JavaScript, nemusíte vědět, jak funguje npm, bower, gulp, webpack a další zvířátka, můžete zůstat ve velkém Visual Studiu, které znáte… Stačí umět HTML, CSS a C#. Ne, že by bylo rozumné vyvíjet větší webové aplikace bez znalosti JavaScriptu, ale můžete se ho učit za pochodu. Nikdo po vás ze začátku nebude chtít, abyste rozuměli ES6 modulům nebo jak se dělá dependency injection.
Za ty tři roky, co se DotVVM vyvíjí, jsme zvládli přidat třeba podporu pro .NET Core, a nedávno uvedená verze 2.0 přinesla mnoho novinek. Tým DotVVM čítá stabilně kolem 15 lidí a v roadmap máme mnoho dalších vylepšení a funkcí.
Navíc web se neustále mění. Jen já jsem za posledních 15 let, co se webovému vývoji věnuji, zažil několik fází – od rámců přes opatrné používání JavaScriptu, nástup jQuery a AJAXu, až k velkým javascriptovým frameworkům. Na webu se zhruba každé 4 roky podstatně změní způsob, jak se aplikace píšou. Zanedlouho se možná masově rozšíří web assembly a zase se úplně změní přístup k tomu, jak web funguje a jak se webové aplikace vyvíjejí.
Jedním z cílů, které jsem si pro DotVVM vytýčil, je nabídnout v tomto měnícím se webovém světě stabilitu, která je potřeba zejména ve firmách, u projektů, které se vyvíjí deset let... Pokud se web assembly rozšíří, DotVVM ji bude umět využít (už teď máme nějaké prototypy), ale zároveň si zachová svoje principy. Stránky i viewmodely se budou vyvíjet stejně, komponenty budou fungovat stejně, nebude potřeba nic přepisovat z Razor Pages do Blazoru, a to jen dva roky poté, co člověk aplikaci zmigroval z ASP.NET MVC na ASP.NET Core…
No a jak je to s oblíbeností DotVVM? Aktuálně ho používají tisíce uživatelů po celém světě, náš doplněk do Visual Studia 2017 má přes 13 000 stažení. Naše komerční produkty mají zákazníky ve více než 50 zemích světa. Oproti oficiálním Microsoft technologiím to samozřejmě není až tak mnoho, ale na open source projekt se zaměřením na webové vývojáře, kteří používají .NET, toto číslo není tak špatné, a neustále roste. Navíc u malých a méně známých projektů do značné míry figuruje počáteční nedůvěra a setrvačnost – máme zákazníky, kteří nás 3 roky sledovali a teprve teď DotVVM začínají používat na svých projektech – nebyli si jistí, jestli se ten projekt dožije produkčně použitelné verze. Ukázalo se, že ano.
Jinak zhruba 40% našich zákazníků je z Česka a DotVVM se zde používá už i v několika bankovních institucích a velkých firmách. Zároveň jsme českým zákazníkům schopni nabídnout servisní smlouvu, takže pokud chtějí mít skutečnou jistotu, že tu budeme i za 10 let a že jim pomůžeme s jejich problémy, stačí nás kontaktovat.
Nemáme kolem sebe základnu milionu uživatelů, nicméně když se člověk podívá třeba na React, tak velmi brzy zjistí, že React samotný je jen jednoduchá knihovna pro renderování HTML. Kolem ní potřebujete desítky dalších balíčků a komponent, a tam už jistoty velké uživatelské základny mizí. Každá firma používá trochu jinou kombinaci těchto knihoven, mnoho těch knihoven se již nevyvíjí, nebo závisí na jednom člověku, kterého to může přestat bavit… Jako celek to není jedna velká konzistentní a udržovaná platforma. Je to ekosystém spousty drobných kusů kódu od různých autorů, což má také svoje rizika – uvnitř je sice pořád ten stejný React, ale často musíte některé součástky okolo vyměnit, občas bojujete s tím, že danou součástku je obtížné zapojit do vaší build pipeline, protože používá jiné nástroje...
Takže já bych se toho tak nebál. Myslím si, že menší uživatelská základna není až takový problém vzhledem k přínosům, které DotVVM má, zejména k produktivitě vývoje a nízkým vstupním nárokům.
Mimochodem, v pondělí 9. 7. 2018 odpoledne budu mít v Microsoftu přednášku o novinkách v DotVVM 2.0 – pokud vás toto téma zajímá, přijďte se podívat. Rád si s vámi po přednášce popovídám i o těchto věcech.