Ish stolidagi flutter, Electronning haqiqiy raqibi

Haqiqiy dunyoda qo'llaniladigan va mobil rivojlanishni tezlashtirish uchun flutter ish stoli. Simon Lightfoot va Norbert Kozsir tomonidan yaratilgan loyiha.

Flutter o'z-o'zidan mustaqil, ikkilikli; uni nafaqat mobil, balki ish stolida ham o'yinni o'zgartiradigan narsa.

Bir marta xat yozish va Android, iOS, Windows, Mac va Linux-ga o'rnatish va qo'shimcha ravishda biznesga oid barcha mantiqlarni Internetga ulash (AngularDart-dan foydalanib) katta ish.

Keling, ushbu fikrni ko'rib chiqaylik!

Mobil rivojlanishni tezlashtirish uchun Native Desktop mijozi

Ammo haqiqiy mahalliy ish stoli dasturlarini ko'rib chiqishdan oldin, Flutter ish stolida ishlaydiganlar mobil telefonlar uchun rivojlanayotgan odamlar uchun nima qilishi mumkinligini ko'rib chiqaylik.

Boshlanish vaqti

http://i.imgur.com/cwg333d.png, asl: https://xkcd.com/303/

Samarali biron narsa qilishdan oldin, birinchi narsa - bu android emulyatorini ishga tushirish va Gradle-ni ishga tushirish.

Keyingi Gif-da men o'zimni emulyatorni sovuq ishga tushirishni va standart Flutter dasturini ishga tushirishni yozdim. Men 2 daqiqayu 40 soniyani bosib o'tdim. O'sha vaqt ichida qancha samarali narsalar sodir bo'lishi mumkinligini tasavvur qiling.

Android yuklash va Gradle ishlamoqda (10x tezlikni oshirish)

Agar men sizga aytsam, siz 10 soniyadan kamroq vaqt ichida ishlay olasizmi?

Ilovani ishga tushirish Android-ni tizimingizda ishga tushirish va Gradle-dan o'tib ketishni butunlay unutib yuboradi.

Buni shunchaki tekshirib ko‘ring:

Flutter simulyatori real vaqtda boshlanadi

Qanday qilib IntelliJ-dan ketishingiz shart emasligiga e'tibor bering. Biz Flutter-ni mahalliy dastur sifatida ishlatish uchun zarur bo'lgan vositalarni yozdik. Barcha Flutter IDE-larda ishlaydi.

Ish vaqti davomida o'lchamini o'zgartirish mumkin

Har qanday ilova singari, siz tartibingizni turli o'lchamlarda sinab ko'rishni xohlaysiz. Nima ish qilasiz?

Siz barcha do'stlaringizdan turli xil telefonlar bilan gaplashishingizni so'rayapsiz va / yoki sizning tartibingiz har bir moslamada qanday ko'rinishda bo'lishiga ishonch hosil qilish uchun emulyator to'plamini yaratasiz.

Bu menga juda noqulay tuyuladi. Biz buni yaxshiroq qila olamizmi?

Ha biz qila olamiz!

Menimcha bu juda tushunarli

Shaxsiy kompyuteringizdagi aktivlar bilan ishlash

Telefonda aktivlar bilan o'zaro ishlash kerak bo'lgan dasturlarni ishlab chiqishda va sinab ko'rishda avval barcha sinov fayllarini emulyator yoki qurilmaga ko'chirish juda zerikarli bo'lishi mumkin.

O'zingizning fayllar to'plamingiz yordamida o'zingiz xohlagan faylni tanlash yaxshi bo'ladimi?

Agar siz "HES" deb qichqirayotgan bo'lsangiz, unda men siz uchun to'g'ri narsani oldim!

Ish stoli uchun fayl tanlagich

Buning eng yaxshi tomoni: ish stolida dastur mobil dastur bilan bir xil usuldan foydalanadi, shuning uchun hech qanday kodni umuman o'zgartirish kerak emas.

Issiq qayta yuklash va nosozliklarni tuzatish

Bularning barchasi yoqimli va qiziqarli. Lekin qayta yuklash va disk raskadrovka qilish qobiliyatlari har bir ishlab chiqaruvchi muhandis uchun zarurdir.

Shunday qilib, biz buni ish stolida ham qildik!

Tizimdagi ilovani qayta yuklash va disk raskadrovka

Ram

Va nihoyat, lekin ahamiyatsiz: RAM. Bu daftarlarda va / yoki ozroq mol go'shti mashinalarida ishlaydigan odamlar uchun juda katta muammo.

Android emulyatori taxminan 1 Gb tezkor xotirani iste'mol qiladi. Endi, ikkalasini (chat dasturini yoki shunga o'xshash dasturni sinab ko'rish), IntelliJ va doim operativ xotiraga ega Chrome-ni ishga tushirishni tasavvur qiling.

Bu juda og'ir.

Android emulyatori uchun 1 GB operativ xotira

O'rnatish mahalliy ishlayotganligi sababli, Android-ga ehtiyoj qolmaydi. Bu uni ancha kichik qiladi.

Ona uchun ilova uchun 100 MB MB

Native Desktop ilovalari

Flutter dasturini ish stolida ishlatish shunchaki to'liq ishlaydigan va ishlab chiqarishga tayyor ish stoli uchun etarli emas. Bunday qilish (va aslida u) mobil ilovani ish stolida ishga tushirishga o'xshaydi.

Nima etishmayapti? Ko'p!

Hovering, kursorni o'zgartirish, aylantirish g'ildiragi bilan o'zaro aloqa va hk.

Shunday qilib, biz ham qurdik!

Biz ushbu funktsiyalarni hech qanday platforma kodini o'zgartirmasdan amalga oshirishga muvaffaq bo'ldik - shuning uchun u har qanday oddiy Flutter dasturiga qo'shilishi mumkin bo'lgan mustaqil paketdir. Biroq, bizning ish stolimiz ko'magi bilan birgalikda ishlatilganda, sehrli narsalar ro'y beradi!

Flutter-dagi umumiy chat ilovasi, ish stolida :)

Bu Android emulyatorida ishlaydigan aniq bir xil kod.

Android va ish stoli uchun bir vaqtning o'zida ishlab chiqilmoqda.

U emulyatorda odatiy dastur kabi qanday ishlashiga e'tibor bering, lekin kursorni o'zgartiradi va ish stoliga hover effektini qo'shadi.

Ushbu stol vidjetlarining soddaligi haqida ozgina vitr

Hosting:

Kursor:

Haqiqiy o'zaro platformali dasturni yozish, shu jumladan ish stoli

Vidjetlar

Siz yaratadigan vidjetlarning aksariyati hamma uchun yaroqlidir. Fikrlar tugmasi, yuklash ko'rsatkichlari va boshqalar.

Platformaga qarab turlicha ko'rinishga ega bo'lganlarni TargetPlatform xususiyatini tekshirish orqali osongina osongina izolyatsiyalash mumkin.

CursorWidget kabi vidjetlar ham Android versiyasiga muammosiz kiritilishi mumkin. U erda ular shunchaki e'tiborga olinmaydi.

Sahifalar

Sahifalar platforma va ekran hajmiga qarab biroz farq qiladi. Biroq, ular asosan faqat funktsional jihatdan emas, balki tartibda ham farq qiladi.

PageLayoutWidget-dan foydalanish har bir platforma uchun aniq sxemalarni yaratishni juda osonlashtiradi.

Bonus: Shuningdek, siz odatiy holatda planshetni yoqimli qo'llab-quvvatlaysiz :)

Plaginlar

Flutter kodingizga biron bir o'zgartirish kiritilishi kerak emas, u ham ish stolining ichki plaginini qo'llab-quvvatlaydi.

Kod qachon chiqadi?

Tez orada Yangilanib turish uchun Simon Lightfoot va meni Twitter-da kuzatib boring.

Ushbu loyiha hali ham super alfa, yaqin kelajakda narsalar o'zgarishi mumkin (barcha vidjet nomlariga qarab).

Bizning maqsadimiz yaqin kelajakda o'rnatilishi, o'rnatilishi va ishlatilishi oson bo'lgan narsalarni chiqarishdir.