Ohjelmointi

Nopea käyttöliittymäkehitys Flutter for Windows -sovelluksella

Paljon on sanottavaa työkaluista, jotka helpottavat useiden käyttöympäristöjen kohdistamista yhdestä koodikannasta, vähentävät kehittäjien kuormitusta ja lisäävät sovellusten kattavuutta. Microsoftin Xamarin on erinomainen esimerkki tästä. NET ulottuu iOS: ään ja Androidiin. Mutta entä toinen suunta, jossa vakiintunut mobiilikehitystyökalu lisää Windowsin uutena alustana?

Sitä ei tapahdu usein, mutta yllättäen Googlen Flutter-mobiilikehitysympäristö lisää uuden rakennuskohteen Windowsiin nykyisen Android-, iOS-, macOS-, Linux- ja verkkotuen ohella. Uusimpien kehitysjulkaisujen avulla voit nyt rakentaa Flutter-sovelluksia Win32: lle käyttämällä samoja ohjaimia ja suunnittelutyökaluja työpöydän koodin toimittamiseen samanaikaisesti kuin mobiilisovelluksia.

Windowsin kohdentaminen on järkevää Googlelle, sillä julkaisupäiväkirjatietojen mukaan yli puolet Flutter-kehittäjistä käyttää Windowsin kehitystyökaluja. Flutterin käyttöliittymätyökalu on natiivikoodi, ja koska se toimii tavallisten Windows-sovellusliittymäkutsujen kanssa, voit käyttää sitä uuden tai olemassa olevan koodin kanssa.

Flutterin käyttö Windowsissa

Flutter on rakennettu Googlen Dart-kielen uusimman version ympärille. Se on C-tyyppinen kieli, jonka rakenne muistuttaa sekä JavaScriptiä että C #: ta. Jos tulet siihen .NET-taustasta, ei ole liikaa uutta opittavaa; kielirakenteet ovat tuttuja. Matala sisäänpääsyn este on hyvä asia, koska sinun pitäisi olla valmis aloittamaan koodaus erittäin nopeasti.

Flutterin Windows-tuki on kokeellista, joten sinun on tehtävä joitain muutoksia vakioasennukseen komentoriviltä. Vaihda ensin dev-kanavalle ja päivitä sitten varmistaaksesi, että käytät uusinta dev-kanavan koontiversiota. Käytä lopuksi komentorivin Flutter-työkaluja ottaaksesi Windowsin työpöydän tuen käyttöön. Kun se on valmis, käynnistä kaikki avoimet muokkaajat uudelleen. Voit tarkistaa, että Windows-tuki on käytössä tarkistamalla liitetyt laitteet; Windows näkyy täällä. On hyvä suorittaa Flutter doctor -apuohjelma tarkistamaan, että kaikki tarvittavat riippuvuudet on asennettu, koska se asentaa puuttuvat ominaisuudet tarpeen mukaan.

Toisin kuin Flutterin mobiililaitteiden versiot, työpöytäversio tarvitsee Visual Studio 2019: n C ++ -työpöytäkehitystyökaluineen. Voit silti työskennellä Visual Studio Code -sovelluksessa, jos sinulla on olemassa olevia Flutter-mobiilisovelluksia, jotka haluat tuoda työpöydälle, mutta työpöydän Flutterin on käytettävä Windows C ++ -kääntäjää luomaan Windows-sovelluksia, joissa on kaikki tarvittavat tukikirjastot.

Flutter-sovellusten kirjoittaminen Windowsissa

Vaikka tarvitset Visual Studion C ++ -työkaluja, muokkaat ja rakennat suurta osaa Flutter-työpöytäsovelluksistasi Visual Studio -koodissa Flutter-laajennuksella ja vaihdat Visual Studion käyttöön, kun sinun on muokattava C ++ -sovellusta tai käytettävä Windows SDK: ita. Uuden projektin luominen luo automaattisesti rakennustelineet, joita tarvitaan Windows-työpöytäsovelluksen rakentamiseen Android- ja iOS-oletusversioiden rinnalle. Tämän jälkeen voit muokata sovelluskoodiasi yhteisessä main.dart-tiedostossa, joka kootaan sopiviksi versioiksi rakennuksen aikana.

Yhteinen Dart-koodi pysyy lib-kansiossa. Windows-kansio on paikka, johon kirjoitat alustakohtaisen koodin, pitäen sen erillään kaikista alustojen välisistä toiminnoista. Tämän lähestymistavan avulla voit rakentaa nykyisiä investointejasi Windows-koodiin ja sovellusliittymiin Flutterin alustakanavien avulla, jotta Windows C ++ -koodin ja Flutter's Dartin välinen yhteentoimivuus saadaan aikaan.

Visual Studio Code Flutter- ja Dart-työkalut tarvitsevat edelleen Android Studion asennuksen, koska niitä tarvitaan sovellusten Android-versioiden rakentamiseen. Jos työskentelet alustan välisen sovelluksen parissa, kannattaa kirjoittaa mikä tahansa Android-koodi Android Studiossa ja tallentaa Kotlin-koodi Flutter-sovelluksesi Android-koodipuuhun. Koodirakenteen jakaminen tällä tavalla on järkevää; Vaikka sinulla on mahdollisuus käyttää Visual Studio -koodia Windows C ++ -koodin muokkaamiseen, koko Visual Studio IDE: llä on paljon enemmän etuja ja parempi kirjastotuki, mikä tekee siitä parhaan kehitysympäristön koodille, joka tarvitsee käyttää Win32 SDK: ta ja kirjastoja.

Windows SDK: n, sovellusliittymien ja kirjastojen käyttäminen Flutterin kanssa

Flutter on suunniteltu toimimaan kehityspinoissa ja tarjoaa kaksi erilaista tapaa työskennellä Windows-natiivien sovellusliittymien kanssa. Ensimmäinen, alustakanava, tarjoaa tavan siirtää viestejä Flutter-käyttöliittymästä natiiville API: lle käyttämällä alustan laajennusta API: n kääreenä. Vaikka tämä on hyväksytty tapa työskennellä pinon rajojen yli, se on viestipohjainen ja asynkroninen, joten se ei sovi kaikille Windows-sovellusliittymille.

Vaihtoehtoisesti voit käyttää sen Foreign Function Interface -sovellusta linkittämään suoraan natiivikirjastoon ja käyttämään sen API-kutsuja. Tämä lähestymistapa on todennäköisesti paras tapa toimittaa Windows-toiminnot Flutter-sovellukseen, koska voit linkittää suoraan olemassa olevaan tai uuteen koodiin joko staattisilla tai dynaamisilla linkeillä. Alkuperäisessä koodissa on oltava käytettävissä C-symboleja, jotta Flutter-koodisi voi linkittää niihin; minkä tahansa C ++ -koodin on vietävä ne C-muodossa ulkoinen vaihtoehto.

Suurin osa Windows SDK -kirjastoista on jo käännetty, joten sinun on käytettävä dynaamista linkitystä tuodaksesi ne Flutter-sovelluksiisi. Käytä lepatusta DynamicLibrary.open toiminto lisätäksesi ne sovellukseesi ja käsittele niitä samalla tavalla kuin Flutter-laajennusta. Itse asiassa Flutter-tiimi työskentelee jo Win32-laajennuksen parissa, joka tarjoaa pääsyn useimpiin Windows-sovellusliittymiin, valmiina käytettäväksi koodissasi.

Työkalu nopeaan, yhteistyöhön perustuvaan käyttöliittymän kehittämiseen

Yksi Flutterin kehitystyökalujen eduista on sen kuuma latausvaihtoehto. Sinulla voi olla kopio koodistasi käynnissä ja kiinnitetty virheenkorjaimeen, tehdä muutos koodiin ja napsauttaa Visual Studio Code -terminaalin pikalatausnäppäintä ladataksesi sovellus uudelleen muuttamatta sen tilaa. On kuuma uudelleenkäynnistysvaihtoehto, jos haluat aloittaa uudesta tilasta.

Mahdollisuus muuttaa käyttöliittymää tai liiketoimintalogiikkaa nopeasti käynnistämättä sovellusta on todella hyödyllinen ominaisuus Flutterille. Ohjelmoinnista tulee interaktiivisempaa, varsinkin jos työskentelet suunnittelijan tai loppukäyttäjän vieressä. Voit kysyä mikä toimii, tehdä ehdotettuja muutoksia nopeasti ja saada välitön vastaus kehityskumppaneiltasi. Kun olet valmis julkaisemaan ja ottamaan käyttöön koodisi, suoritat koontiversion luomaan exe-tiedosto, jossa on kaikki tarvittavat tuen DLL-tiedostot.

Et myöskään ole rajoittunut Win32: een, koska UWP Flutter -kuorta kehitetään parhaillaan (ja sitä on jo käytetty Store-sovelluksiin). Tuloksena on joustava ja tehokas käyttöympäristöjen välinen käyttöliittymäkerros, joka toimii natiivikoodin kanssa useilla alustoilla, skaalautuu suuremmille tietokoneiden näytöille, toimii sekä nykyaikaisten että vanhojen Windows SDK: iden kanssa ja on oltava valmis työskentelemään Projectin kanssa Reunion, kun se alkaa.