• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Flutter - działanie, wydajność

0 głosów
130 wizyt
pytanie zadane 25 września w Inne języki przez BT101 Stary wyjadacz (10,830 p.)
edycja 25 września przez BT101

https://flutter.dev/docs/resources/faq 

Flutter is Google's portable UI toolkit for crafting beautiful, natively compiled applications for mobileweb, and desktop from a single codebase.

Czy to oznacza, że z jednej aplikacji można zbudować apke na ios, android, macos, windows, linux i jeszcze dodatkowo web?

Jeśli tak to: w jaki sposób to jest w ogóle możliwe? Bo np taki electron działa na chromium i to zrozumiałe, że jest cross-platform bo działa mniej więcej jak zwykła apka web + przeglądarka. A tutaj jak to się dzieje, że to nie tyle, że jest cross platform to jeszcze na różne urządzenia?

Co z wydajnością takiego rozwiązania? Czy to nie będzie wielka kobyła, która będzie się ścinała na każdym smartfonie oprócz flagowców?

komentarz 25 września przez reaktywny Mądrala (7,010 p.)
Generalnie Flutter służy do aplikacji mobilnych i tu działa to dobrze. Aplikacje webowe są w fazie rozwojowej, jeszcze trochę czasu minie zanim to będzie się nadawać do praktycznego wykorzystania. Choć dla Darta jest coś jak DAngular, a w samym Dartcie od dawna się pisze appki webowe (choć nie jest to popularne), nie wiem jak będzie to wyglądać w połączeniu z Flutterem. Co do appek desktopowych, to nie mam pojęcia jak to wygląda, ale czytałem że aplikacje dla nowego systemu Google (Fuchsia OS) mają powstawać w Dart i Flutter.

2 odpowiedzi

+4 głosów
odpowiedź 25 września przez KubenQPL Maniak (60,300 p.)
wybrane 25 września przez BT101
 
Najlepsza

Właśnie flutter był od początku projektowany pod wieloplatformowość i wydajność i całkiem nieźle im się to udało dodatkowo bardzo dobrze ogarnęli hot reload który rzeczywiście działa.

Multiplatformowość - Taka multiplatformowość jest możliwa bo flutter sam w sobie jest tylko od UI, renderer jest tak jakby interfacem a zaimplementować go można pod każdą platformę, więc żeby umożliwić działanie na nowej platformie wystarczy zrobić renderer pod nią - oczywiście jest to uproszczenie, ale mniej więcej tak to wygląda.

Wydajność - Flutter jest wydajny bo jest kompilowany do kodu natywnego, tylko w wersji debugowej dla umożliwienia hot reloadów i przyspieszenia kompilacji aplikacje działają na dartowej VM (tak jak javowe programy działają na JVM)

Framework UI? Co z Rest API, Bluetooth itp?? - Flutter sam w sobie umożliwia tworzenie interfejsów, reszta to albo standardowe biblioteki Darta (o tym później), biblioteki społeczności oraz własny kod natywny i method/event channel'e. Więc można w tym zrobić pełnoprawną aplikację, jeśli się nie mylę to jaką tylko byśmy chcieli ale nie zawsze będzie to najlepszym rozwiązaniem. Biblioteki społeczności zwykle są we wczesnych wersjach więc mogą działać kiepsko. Własny kod natywny robimy w osobnych folderach dla ios i androida a potem z poziomu fluttera wywołujemy kod natywny bridgem w postaci MethodChannel'a lub nasłuchujemy wydarzeń EventChannelem.

Rozmiar aplikacji - aplikacje flutterowe są nieco większe bo minimalnie zajmować będzie około 4.5MB - jest tak ze względu na brak VM - nasza aplikacja musi posiadać biblioteki standardowe w sobie.

Architektura - Flutter jako że jest jeszcze młodym frameworkiem raczej nie ma jeszcze dojrzałej architektury, jednak dosyć dużym powodzeniem cieszy się BLoC, jednak jak mówiłem nie jest jeszcze dojrzały albo przynajmniej wspomniana implementacja nie jest w pełni przemyślana i ma parę niedopatrzeń.

Mimo tych wszystkich udogodnień uważam że ciężko by było zrobić aplikację na wszystkie wymienione powyżej platformy, a przynajmniej nie z totalnie jednym code base, ale na pewno wiele można by było uwspólnić. Jednak tworzenie aplikacji multiplatformowych ios+android da się bardzo dobrze zorganizować i to ma jak najbardziej sens ponieważ większość bibliotek wspiera właśnie te dwie platformy.

 

komentarz 25 września przez reaktywny Mądrala (7,010 p.)
Dobra wypowiedź, wreszcie ktoś sensownie podsumował Fluttera.

Może te appki "desktopowe" będą na zasadzie jak Electron w świecie JS?
komentarz 25 września przez BT101 Stary wyjadacz (10,830 p.)

 uważam że ciężko by było zrobić aplikację na wszystkie wymienione powyżej platformy, a przynajmniej nie z totalnie jednym code base

Google tak to reklamuje więc może do tego dążą? Tutaj ktoś jeszcze napisał, że z tymi apkami web są na wstępnym etapie ale pracują nad tym więc może faktycznie taki jest ich cel.

Min 4.5 mb to i tak nie dużo w porównaniu do electrona, gdzie chromium waży z 50 mb.

komentarz 25 września przez KubenQPL Maniak (60,300 p.)
No dążą do pełnej multiplatformowści ale web jest w tym momencie jako tech preview, flutter desktop też gdzieś tam jest na jakichś alpha/beta channelach na ich githubie ale na razie nie ma nawet podstrony. Ale w końcu to dojdzie do release :D największy interes mieli w mobilkach bo to w sumie największy rynek pod multiplatformowość to na tym się skupili
komentarz 25 września przez BT101 Stary wyjadacz (10,830 p.)
edycja 25 września przez BT101

Spróbuje stworzyć hello worlda apke, która by działała i na mobile i na desktop i na web. Z tego całego Darta (nigdy nie widziałem 1 linii kodu tego) można oczywiście robić http requesty? nevermind, użyłem google 

komentarz 25 września przez reaktywny Mądrala (7,010 p.)
Można API w Dart, robi się strony internetowe w Dart. Ale tak jak pisałem, rzadko kto w tym siedzi. Jest moduł do wykonywania żądań http o nazwie http :)

https://blogprogramisty.pl/blog/optymalizacja-zadan-asynchronicznych-w-dart-i-flutter-future-wait
komentarz 25 września przez KubenQPL Maniak (60,300 p.)
i tak odpowiem - można i to dosyć łatwo z użyciem standardowej biblioteki. JSa dużo nie używałem ale dart wydaje się podobny, a asynchroniczność chyba jest zrobiona identycznie
komentarz 25 września przez BT101 Stary wyjadacz (10,830 p.)

 JSa dużo nie używałem ale dart wydaje się podobny, a asynchroniczność chyba jest zrobiona identycznie

To dużo ułatwi :).

Myśl o 1 apce, którą można by było zbuildować na wszystkie te systemy jest dla mnie ekscytująca. Dużo by to usprawniło tworzenie apek szczególnie dla startupów technologicznych gdzie trzeba ciąć koszta a fajnie mieć od początku apke na wszystkie systemy.

komentarz 26 września przez reaktywny Mądrala (7,010 p.)

Jest więcej takich możliwości: JS+Vue+Quasar ( https://quasar.dev/introduction-to-quasar ), Python+Kivy otrzymasz kod na kilka platform (bez Web) i pewnie inne.

komentarz 26 września przez BT101 Stary wyjadacz (10,830 p.)
Quasara znam ale on buduje desktop do electrona, którego nie lubie ze względu na wielkość :/
komentarz 27 września przez reaktywny Mądrala (7,010 p.)
Większość rozwiązań JS-owych bazuje na Electronie.
0 głosów
odpowiedź 25 września przez vodnik Obywatel (1,250 p.)
Na logikę apka napisana w samej Javie, Kotlinie czy Swift będzie wydajniejsza. Google ma zwyczaj porzucania swoich technologii.
komentarz 25 września przez reaktywny Mądrala (7,010 p.)
Szanse że porzucą nie są duże, ze względu na system Fuchsia OS.
komentarz 25 września przez vodnik Obywatel (1,250 p.)
Ale kiedy się pojawi ten FuchsiaOS i czy w ogóle się pojawi? Za 10- 15 lat?
komentarz 25 września przez reaktywny Mądrala (7,010 p.)
Kilka lat (~2-4?), ponoć prace są zaawansowane.
komentarz 25 września przez vodnik Obywatel (1,250 p.)
HarmonyOS od Huawei niby już się pojawił, ale mało na niego aplikacji. Tak samo było z Tizen i WebOS od Samsunga i LG.
komentarz 26 września przez reaktywny Mądrala (7,010 p.)
Ale Google to potęga, mają znacznie większą siłę przebicia.

Podobne pytania

0 głosów
1 odpowiedź 164 wizyt
0 głosów
4 odpowiedzi 98 wizyt
pytanie zadane 22 maja w Inne języki przez Mateo13 Bywalec (2,340 p.)
+7 głosów
1 odpowiedź 810 wizyt
pytanie zadane 3 lutego 2018 w Nasze poradniki przez niezalogowany
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

67,128 zapytań

114,075 odpowiedzi

241,788 komentarzy

47,030 pasjonatów

Przeglądających: 208
Pasjonatów: 20 Gości: 188

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...