Jak Flutter Web może obniżyć koszty tworzenia aplikacji

Opublikowany: 2020-05-15

Wpadasz na pomysł na produkt, ale potrzebujesz planu, jak go zaistnieć w świecie. Aby udostępnić swoją usługę jak największej liczbie użytkowników, potrzebujesz aplikacji mobilnych i internetowych. Ale twoje krótkie badanie jest brutalne – choć masz tylko jeden wąski pomysł , wymaga on trzech różnych aplikacji (Android, iOS, web), trzech różnych typów specjalistów (Kotlin, Swift, JavaScript), a może nawet trzech różnych dostawców.

Ale nie jesteś pierwszy w tej sytuacji. Twórcy takich aplikacji jak Airbnb, Uber Eats czy Discord również stanęli tam, gdzie teraz jesteś. Wszyscy zdecydowali się na rozwiązanie wieloplatformowe. A wygląda na to, że w 2020 roku najważniejszym zawodnikiem tej dyscypliny jest Flutter.

Co to jest trzepotanie?

Flutter to framework Google, który pozwala tworzyć aplikacje mobilne zarówno na iOS, jak i Androida przy użyciu jednej bazy kodu. Pierwsza stabilna wersja Fluttera została wydana pod koniec 2018 roku. Google stworzył Fluttera jako odpowiedź na topniejące budżety aplikacji mobilnych i rosnącą popularność React Native, stając się jego głównym konkurentem.

Flutter zwraca uwagę na Dart, obiektowy język od Google, który według wielu specjalistów od domen jest przyszłością wszelkiego rozwoju mobilnego, webowego i desktopowego. W porównaniu z JavaScript, którego używa React Native, Dart jest w pełni zorientowany obiektowo i silnie typowany. Co to oznacza dla Twojej firmy? Kod dostarczany w Dart jest dużo bardziej odporny na błędy i dużo łatwiejszy w utrzymaniu, nawet przez wiele lat w zmieniającym się zespole.

Flutter for Web podbija przeglądarki

Jak to wszystko przekłada się na Internet? 2020 to ważny rok dla Fluttera, ponieważ przynosi nowe wyzwanie. Framework ma podbić większe ekrany i przeglądarki internetowe. W ciągu ostatnich dwóch lat oprócz Fluttera realizowano projekt badawczy o nazwie Hummingbird , który miał generować aplikacje internetowe z tego samego kodu Fluttera , z którego korzystają aplikacje na iOS i Androida.

Projekt dojrzał, rok temu główny zespół uwzględnił go we frameworku, a obecnie (stan na maj 2020) wciąż jest w gałęzi beta. Co to znaczy? Już dziś możliwe jest budowanie aplikacji webowych przy użyciu Fluttera, a zespół Google może w każdej chwili ogłosić, że jest stabilny. Jeden kod, jedna technologia, trzy ptaki z jednym kamieniem . Wygląda na to, że Twój projekt idealnie pasuje.

Scenariusz dla aplikacji wieloplatformowych jest dość powszechny. Wiele popularnych i znanych rozwiązań wykorzystało ten model, aby zaoszczędzić czas i pieniądze. Walmart, Soundcloud i Bloomberg zdecydowały się na wieloplatformowe aplikacje mobilne. Założę się, że masz co najmniej jedną wieloplatformową aplikację na swoim telefonie komórkowym.

Ikona wieloplatformowych usług programistycznych

Ciekawi Cię rozwój międzyplatformowy?

Ucz się więcej

Jednak możliwość budowania aplikacji internetowych po drodze to coś, co otworzyło się przed nami zaledwie kilka miesięcy temu. Chociaż żadna z wielkich marek jeszcze nie zdecydowała się na ten ruch, dziś wiadomo, że prędzej czy później będzie to doskonałe narzędzie dla startupów i szybkich PoCów.

Korzyści Fluttera dla Twojej aplikacji

Zmniejszone koszty rozwoju

Używając Flutter for Web, trzy aplikacje są tworzone przy użyciu jednej bazy kodu , w ramach jednego połączonego technologicznie zespołu , w jednym tempie . Nie musisz szukać dostawców trzech różnych technologii, a następnie synchronizować ich pracę. Nie ma potrzeby trzykrotnego duplikowania tej samej funkcji płatności lub autoryzacji w mediach społecznościowych.

Nie oznacza to jednak, że będziesz mógł trzykrotnie ograniczyć nakłady. Często dostarczanie określonej funkcjonalności dla wielu platform jest nieco bardziej skomplikowane. Z mojego doświadczenia wynika, że ​​istnieje coś takiego jak mnożnik międzyplatformowy, który wynosi 1,2-1,5. Oznacza to, że jeśli tworzenie funkcjonalności zajmuje X godzin dla jednej platformy, zajmuje to (1,2-1,5) * X, jeśli chodzi o cross-platform. Mimo to x1,5 w porównaniu do x3 może być korzystnym przypadkiem dla Twojego budżetu.

Szybszy rozwój aplikacji

Wszystko to sprawia, że ​​flutter to doskonały wybór do weryfikacji PoC i pomysłu na produkt. W ciągu zaledwie kilku tygodni możesz stworzyć działającą aplikację, którą możesz łatwo udostępnić w sklepach z aplikacjami. Po potencjalnym sukcesie możesz rozważyć przebudowanie aplikacji do technologii natywnych. Tą ścieżką podążyło Airbnb. Po sukcesie wieloplatformowych aplikacji mobilnych firma zdecydowała się przejść na aplikacje natywne w 2018 roku.

Prostszy proces konserwacji

Pamiętaj też, co się stanie, gdy Twoja aplikacja w końcu się powiedzie. Kiedy przechodzi do konserwacji, znacznie łatwiej jest utrzymać aplikację z jednym specjalistą Dart/Flutter . Twoja firma może nie być w stanie znaleźć zadań dla trzech różnych programistów w pełnym wymiarze godzin tylko przez utrzymywanie kodu. Podobnie jakakolwiek nierównowaga w ich umiejętnościach będzie generować różnice w tempie pracy.

Umiejętności zespołu programistycznego są również ważne, biorąc pod uwagę wspólny wygląd i zachowanie na różnych platformach. Pracując nad trzema projektami, ich ostateczny kształt w dużej mierze zależy od umiejętności dewelopera i podejścia do UI. Kiedy gość z iOS woli zaokrąglone rogi, a Android nie przepada za nimi, może się okazać, że te dwie aplikacje będą się różnić tym, jak wpływają na markę produktu.

Flutter dla zagrożeń internetowych

Rozwijanie problemów technologicznych

No dobrze, ale czy jest jakieś ryzyko lub wady związane z wyborem Fluttera dla sieci? Jak zawsze, historia ma dwie strony. Z technicznego punktu widzenia musimy pamiętać, że to wciąż technologia beta. Nie jest więc całkowicie stabilny i możesz nawet napotkać nierozwiązywalny problem . Obsługa współistniejących bibliotek Fluttera jest również czasami niekompletna. Powszechnie zdarza się, że biblioteka działa jak urok na urządzeniach mobilnych, ale zawiesza się w aplikacjach sieciowych, ponieważ nie jest do tego zoptymalizowana. Jest to drobny problem, gdy ogranicza się do interfejsu użytkownika, ale może być kłopotliwy, jeśli jest to integracja z główną usługą płatniczą.

Wyjątki aplikacji internetowych

Inną kwestią jest to, że nawet jeśli wszechświaty aplikacji na Androida i iOS są bardzo podobne, a baza kodu w większości przypadków jest taka sama w 95-100%, może to nie dotyczyć wersji przeglądarkowej. Dolna szuflada na arkusze, dolne menu zakładek lub poziome karuzele to świetne mobilne wzorce UX, które nie pasują dobrze do sieci. Często trzeba tworzyć wyjątki tylko dla aplikacji internetowej . Projekt architektoniczny często musi być zupełnie inny w przypadku urządzeń mobilnych i internetowych. Na samym początku pracy dobrze jest założyć dyskusję przy okrągłym stole pomiędzy projektantami i programistami. Niech podzielą się swoim punktem widzenia i spróbują dojść do konsensusu, zwłaszcza jeśli zależy Ci na budżecie i terminach.

Flutter vs React Native

Ale czy Flutter for Web to jedyny wybór? Oczywiście nie. Jego najważniejszą alternatywą jest React Native. React Native to konkurencyjny framework, który Facebook wymyślił i wspierał lata przed Flutterem. Pozwala robić dokładnie to samo – budować wszystkie aplikacje na iOS, Androida i webowe (podobnie jak Flutter przez stosunkowo krótki czas).

Raport o przyszłości rozwoju aplikacji mobilnych

Odkryj, co przyniesie przyszłość aplikacji mobilnych

Pobierz raport za darmo!

Spędziłem ostatnie dwa lata pracując z React Native, ostatnio wskakując do świata Fluttera, więc mogę ci udzielić porady, jeśli staniesz przed decyzją między tymi dwoma. Przede wszystkim w tym pojedynku nie ma jednego zwycięzcy , obie technologie są dojrzałe i obie doskonale sprawdzają się jako cross-platform. Ale jest kilka niuansów, które mogą przynieść przewagę przy realizacji konkretnego projektu:

  • Jeśli szczególnie zależy Ci na interfejsie użytkownika związanym z gestami (przesuwanie, przeciąganie, wysuwanie szuflad itp.), Flutter będzie lepszym wyborem ze względu na swoją architekturę i obsługę gestów po stronie natywnej. RN czasami ma problemy z zapewnieniem dobrej wydajności kombinacji gestów i animacji.
  • Jeśli internet jest kluczowym punktem kontaktu dla Twojej firmy, wybierz React Native. RN tworzy aplikację przeglądarkową znacznie bliższą produktom opracowanym natywnie i można ją debugować za pomocą natywnych narzędzi. Z drugiej strony Flutter dla projektów internetowych nie transpiluje się do typowego DOM i wymaga adapterów.
  • Jeśli Twoja aplikacja ma być utrzymywana i rozwijana przez lata (lub zespół pracujący nad nią może się zmieniać z czasem), Flutter i Dart mogą być lepszym rozwiązaniem.
  • Jeśli Twoja aplikacja zakłada wykorzystanie nieco bardziej skomplikowanych mechanizmów (bluetooth, biometria, geolokalizacja) lub integracji zewnętrznych (płatności, media społecznościowe), React Native istnieje już dłużej i ma o wiele szersze spektrum bibliotek. Ekosystem Flutter for Web rośnie z miesiąca na miesiąc, ale i tak każdy projekt powinien być poprzedzony badaniem dostępnych bibliotek.

Chcesz uzyskać więcej informacji na temat tych dwóch bardzo popularnych frameworków? Sprawdź nasze porównanie React Native i Flutter!

Podsumowując

Nigdy wcześniej użytkownicy nie byli tak rozproszeni między platformami. Urządzenia mobilne i przeglądarki internetowe to tylko wierzchołki góry lodowej. Użytkownicy coraz częściej korzystają z aplikacji w samochodach, zegarkach i telewizorach, popularność zyskują też asystenci głosowi. Dlatego istnieje potrzeba uproszczenia procesu i obniżenia kosztów wytwarzania oprogramowania. Jedna baza kodu do tworzenia aplikacji internetowych i mobilnych jest już powszechnym wzorcem, a Flutter for Web jest świetnym przykładem.

Zwalniam ikonę produktu

Zbuduj kolejną aplikację z Flutter

Popracujmy razem

Przez długi czas uważałem Flutter for Web za raczkującą technologię. Moja ostatnia praca sprawiła, że ​​zmieniłem zdanie i teraz stoję poprawione. Flutter jest dorosłym młodym mężczyzną stojącym przed świetlaną przyszłością i zdecydowanie warto go rozważyć. Wydaje się być atrakcyjnym wyborem dla pomysłów z małym budżetem i krótkimi terminami realizacji. To dla tych, którzy chcą szybko i niewielkim kosztem zweryfikować swoje pomysły, którzy mają pomysł i odpowiadają na potrzeby rynku. To jest dokładnie to samo, co Flutter zrobił z rozwojem oprogramowania.

Brzmi obiecująco?

Zastanawiasz się, czy rozwój wieloplatformowy byłby dobrym rozwiązaniem dla Twojej firmy? Skontaktuj się z naszym zespołem i uzyskaj wycenę swojego projektu.