Programování

Rychlý vývoj uživatelského rozhraní s Flutterem pro Windows

Je toho hodně, co je třeba říct o nástrojích, které usnadňují cílení na více platforem z jedné základny kódu, což snižuje zátěž vývojářů a zvyšuje dosah vašich aplikací. Microsoft Xamarin je vynikajícím příkladem toho, rozšiřuje .NET na iOS a Android. Ale co z jiného směru, kdy zavedený mobilní vývojový nástroj přidává Windows jako novou platformu?

Nestává se to často, ale překvapivě mobilní vývojové prostředí společnosti Google Flutter přidává nový cíl sestavení v systému Windows spolu s existující podporou pro Android, iOS, macOS, Linux a web. S nejnovějšími vývojovými verzemi nyní můžete vytvářet aplikace Flutter pro Win32 pomocí stejných ovládacích prvků a návrhových nástrojů k doručování kódu plochy současně s vytvářením mobilních aplikací.

Cílení na Windows má pro Google smysl, protože příspěvek na blogu k vydání uvádí, že více než polovina vývojářů Flutter používá vývojové nástroje Windows. Flutter's UI-tooling is native code and as it works with standard Windows API calls, you can use it with new or existing code.

Používání třepetání ve Windows

Flutter je postaven na nejnovější verzi jazyka Google Dart. Je to jazyk podobný C se strukturou připomínající jak JavaScript, tak C #. Pokud k tomu přicházíte z prostředí .NET, není toho moc nového, co byste se měli učit; jazykové konstrukce budou známé. Nízká bariéra vstupu je dobrá věc, protože byste měli být připraveni začít kódovat velmi rychle.

Podpora systému Flutter pro Windows je experimentální, takže musíte provést nějaké změny standardní instalace z příkazového řádku. Nejprve přepněte na kanál pro vývojáře a poté upgradujte, abyste měli jistotu, že používáte nejnovější verzi kanálu pro vývojáře. Nakonec povolte podporu plochy pro Windows pomocí nástrojů Flutter z příkazového řádku. Až to uděláte, restartujte všechny otevřené editory. Povolení podpory systému Windows můžete zkontrolovat kontrolou připojených zařízení; Zde se zobrazí Windows. Je dobré spustit nástroj Flutter doctor a zkontrolovat, zda jsou nainstalovány všechny příslušné závislosti, protože to podle potřeby nainstaluje všechny chybějící funkce.

Na rozdíl od verzí Flutter pro mobilní zařízení potřebuje desktopová verze Visual Studio 2019 s vývojovými nástroji pro stolní počítače C ++. V aplikaci Visual Studio Code můžete i nadále pracovat, pokud máte nějaké existující mobilní aplikace Flutter, které chcete přivést na plochu, ale Flutter pro stolní počítače potřebuje k vytvoření aplikací Windows se všemi požadovanými podpůrnými knihovnami kompilátor Windows C ++.

Psaní aplikací třepetání ve Windows

I když potřebujete nástroje C ++ sady Visual Studio, stále upravujete a vytváříte většinu svých desktopových aplikací Flutter v Visual Studio Code pomocí zásuvného modulu Flutter a přepínáte pro Visual Studio, když potřebujete upravovat C ++ nebo používat sady Windows SDK. Vytvoření nového projektu automaticky vygeneruje lešení potřebné k vytvoření desktopové aplikace Windows spolu s výchozími verzemi pro Android a iOS. Poté můžete upravit kód aplikace v běžném souboru main.dart, který bude v době sestavení zkompilován do příslušných verzí.

Společný kód Dart zůstává ve složce lib. Složka Windows je místo, kde píšete svůj kód specifický pro platformu, který jej odděluje od všech funkcí pro různé platformy. Tento přístup vám umožní stavět na vašich stávajících investicích do kódu Windows a API pomocí Flutter's Platform Channels k zajištění interoperability mezi kódem Windows C ++ a Flutter's Dart.

Nástroje sady Visual Studio Code Flutter a Dart stále vyžadují instalaci aplikace Android Studio, protože jsou potřebné k vytváření verzí vašich aplikací pro Android. Pokud pracujete na multiplatformní aplikaci, je nejlepší napsat jakýkoli kód pro Android v Android Studio a uložit kód Kotlin do stromu kódů Androidu vaší aplikace Flutter. Sdílení struktury kódu tímto způsobem má smysl; zatímco máte možnost použít Visual Studio Code k úpravě kódu Windows C ++, plné Visual Studio IDE má mnohem více financí a lepší podporu knihoven, což z něj dělá výhodnější vývojové prostředí pro kód, který potřebuje používat Win32 SDK a knihovny.

Používání Windows SDK, API a knihoven s Flutterem

Flutter je navržen pro práci napříč vývojovými komíny a nabízí dvě různé cesty k práci s nativními API Windows. První, kanály platformy, poskytuje způsob předávání zpráv z uživatelského rozhraní Flutter do nativního rozhraní API pomocí modulu plug-in platformy jako obálky rozhraní API. I když se jedná o schválenou metodu práce přes hranice zásobníku, je založená na zprávách a asynchronní, takže není vhodná pro všechna rozhraní Windows API.

Případně můžete použít jeho rozhraní cizích funkcí k přímému propojení s nativní knihovnou a použít její volání API. Tento přístup bude pravděpodobně nejlepším způsobem, jak doručit funkčnost systému Windows do aplikace Flutter, protože můžete propojit stávající nebo nový kód přímo se statickými nebo dynamickými odkazy. Nativní kód musí mít k dispozici symboly C, aby na ně mohl váš Flutter kód odkazovat; jakýkoli kód v C ++ je bude muset exportovat do formátu C přes externí volba.

Většina knihoven Windows SDK je již zkompilována, takže k jejich zavedení do aplikací třepetání je nutné použít dynamické propojení. Použijte třepetání DynamicLibrary.open přidejte je do své aplikace a poté s nimi zacházejte stejně jako s pluginem Flutter. Ve skutečnosti tým Flutter již pracuje na modulu plug-in Win32, který poskytne přístup k většině rozhraní Windows API, připravených k použití ve vašem kódu.

Nástroj pro rychlý společný vývoj uživatelského rozhraní

Jednou z výhod vývojových nástrojů společnosti Flutter je možnost horkého opětovného načtení. Můžete mít spuštěnou kopii vašeho kódu a připojenou k ladicímu programu, provést změnu kódu a stisknutím klávesy hot reload v terminálu Visual Studio Code znovu načíst aplikaci beze změny jejího stavu. Pokud chcete začít s novým stavem, existuje možnost restartu za horka.

Schopnost rychle změnit uživatelské rozhraní nebo obchodní logiku bez restartování aplikace je pro Flutter opravdu užitečnou funkcí. Programování se stává interaktivnějším, zvláště pokud pracujete po boku návrháře nebo koncového uživatele. Můžete se zeptat, co funguje, rychle provést navrhované změny a získat okamžitou odpověď od vašich vývojových partnerů. Jakmile jste připraveni publikovat a nasadit svůj kód, spustíte sestavení a vygenerujete soubor exe se všemi příslušnými podpůrnými knihovnami DLL, připravenými k zabalení s výběrem instalačního programu.

Nejste omezeni pouze na Win32, protože UWP Flutter shell je v současné době ve vývoji (a již byl použit pro aplikace Store). Výsledkem je flexibilní a výkonná multiplatformní vrstva uživatelského rozhraní, která bude pracovat s nativním kódem napříč celou řadou platforem, škálovatelné na větší obrazovky počítačů, pracuje s moderními i staršími sadami Windows SDK a měla by být připravena pracovat s Projectem Shledávání, jak se valí.