Hlavní navigace

Pragmatický krok Microsoftu. UWP zvoní umíráček, Skype bude vyvíjen pomocí React Native

12. 6. 2018

Sdílet

 Autor: Redakce
Z Německa přichází neoficiální informace o tom, že Microsoft sjednocuje vývoj klientů Skypu. Pro všechny platformy bude vyvíjen pomocí frameworku React Native, což firmě umožní sdílení kódu a usnadní práci. Domácímu UWP se tím ale pověst nevylepší.

Německý web WindowsUnited informuje o jedné velice zajímavé skutečnosti, která je pikantní, pokud se potvrdí. Microsoft v novém rozvržení světa IT začal poskytovat své nástroje a služby pro používané platformy a dnes dokonce podporuje open source. Na to už jsme si zvykli. Ve Windows 10 otevřel Store různým typům aplikací, když nevznikalo dost nativních. Desítky přitom nabízí Universal Windows Platform (UWP). Kvalitních aplikací, které by byly postavené speciálně pro toto běhové prostředí, ale ani po letech není zase tolik. K těm nejvýraznějším patří domácí nástroje jako OneNote či Skype. Tato varianta Skypu začala v Desítkách nahrazovat klasického desktopového klienta, jenž pro změnu „žije“ ve běhovém prostředí Win32. Jenže podle WindowsUnited Microsoft překopává vývoj Skypu tak, že v případě klienta pro Windows 10 už nepůjde o čistou aplikaci vyvíjenou v rámci UWP. Podobně Microsoft opustí Electron, pomocí kterého dnes vyvíjí klienty pro Windows 7 a 8, macOS a Linux

Skype + React Native

Ten už pár let úspěšně používá Facebook a nechává ho dostupný i třetím stranám. Pro představu – pomocí Electronu se dají vyvíjet aplikace pomocí webových technologií, tj. HTML, CSS a JavaScript. Mark Zuckerberg vývoj webových aplikací na úkor nativních kritizoval a reakcí byl právě framework React Native. Ačkoli webové technologie platí za univerzální, takže běží doslova všude, oproti nativnímu kódu mohou být pomalejší a méně stabilní.

Facebook proto vytvořil řešení, které umožňuje snadno vyvíjet multiplatformní aplikace, jež využívají nativní kód. React Native podporuje UWP od jara 2016. Pro doplnění mozaiky dodávám, že alternativní řešení v podobě již zmíněného Electronu vytvořil a spravoval GitHub. Pokud jste v poslední době sledovali zprávy, víte, že vlastníkem GitHubu bude brzy Microsoft.

https://twitter.com/reactnative/status/832648387220484097?lang=en

Jenže Microsoft už používá React Native pro tvorbu Skypu pro iOS a Android. Sama firma Facebook svou platformu používá pro vývoj mobilních klientů Instagramu a sociální sítě Facebooku. Mimochodem, WhatsApp naopak používá Electron. Ale zpátky ke Skypu. Dojít by tedy mělo ke sjednocení a Skype pro všechny platformy bude vznikat ve frameworku React Native.

Sjednocení vývoje je pragmatické

Podle Facebooku v domácím frameworku nevznikají mobilní webové aplikace, ale ani hybridní. Jedná se o nativní aplikace, jež jsou k nerozeznání od těch (nativních) vytvořených v Javě nebo Objective-C. Při vývoji se používá jen JavaScript a React Native zajistí, že je vývoj snadný a není potřeba aplikaci rekompilovat.

Pamatujete na podzim 2016, kdy se kuloáry šířily drby o tom, že Microsoft chystá Skype for Life? Tehdy jsem psal: „Microsoft trápí počet vyvíjených klientů. *** Cílem Microsoftu je napsat nového univerzálního klienta, jenž by běžel napříč platformami. Kódové označení projektu je Skype for Life. Tento klient by měl pokrýt Windows, Linux, OS X, iOS a Android.“

Microsoft lze pochopit – když vývoj Skypu sjednotí, aplikace budou snáze udržovatelné. Kód už firma v posledních letech sjednocovala také v případě Office. Do Storu pak nakonec dostala desktopové programy a ty pro UWP opatrně schovala. Jak jsem tehdy uvedl, ani selhání ve vývoji Office pro UWP tehdy platformě nedělalo pozitivní reklamu. A odklon od UWP v případě Skypu v tomto trendu pokračuje.

Je ironické, že firma nepoužije vlastní technologie k vývoji. A že nepoužívá ani např. před dvěma roky koupené nástroje Xamarin. Její rozhodnutí je ale pragmatické. A bohužel – nebo bohudík, záleží, jak se na věc díváte – se jedná o signál, že UWP nejspíš zářnou budoucnost nemá. Podle WindowsUnited už v tomto týdnu ti, kdo testují betaverze Skypu, získají klienta vytvořeného pomocí Native React.