Flutter Web, uygulama geliştirmenizin maliyetini nasıl azaltabilir?

Yayınlanan: 2020-05-15

Bir ürün fikri buluyorsunuz ama bunu dünyaya yaymak için bir plana ihtiyacınız var. Hizmetinizi olabildiğince çok kullanıcıya sunmak için mobil ve web uygulamalarına ihtiyacınız var. Ancak kısa araştırmanız acımasız - tek bir dar fikriniz olmasına rağmen , üç farklı uygulama (Android, iOS, web), üç farklı türde uzman (Kotlin, Swift, JavaScript) ve hatta belki üç ayrı satıcı gerektirir.

Ama bu pozisyonda olan ilk kişi sen değilsin. Airbnb, Uber Eats ve Discord gibi uygulamaların yaratıcıları da şu anda bulunduğunuz yerde durdu. Hepsi platformlar arası bir çözümle gitmeye karar verdi. Ve 2020'de bu disiplinin en önemli oyuncusu Flutter gibi görünüyor.

Flutter nedir?

Flutter, tek bir kod tabanı kullanarak hem iOS hem de Android için mobil uygulamalar üretmenize izin veren bir Google çerçevesidir. Flutter'ın ilk kararlı sürümü 2018'in sonunda piyasaya sürüldü. Google, Flutter'ı mobil uygulamaların bütçelerinin erimesine ve React Native'in artan popülaritesine bir yanıt olarak yarattı ve ana rakibi haline geldi.

Flutter, birçok alan uzmanına göre tüm mobil, web ve masaüstü geliştirmenin geleceği olan Google'ın nesne yönelimli bir dili olan Dart'a dikkat çekiyor. React Native'in kullandığı JavaScript ile karşılaştırıldığında, Dart tamamen nesne yönelimlidir ve güçlü bir şekilde yazılmıştır. Bu, işiniz için ne anlama geliyor? Dart'ta teslim edilen kod, hatalara karşı çok daha dirençlidir ve değişen bir takımda uzun yıllar boyunca bile bakımı çok daha kolaydır.

Web için Flutter tarayıcıları fethediyor

Bütün bunlar Web'e nasıl çevrilir? 2020 Flutter için önemli bir yıl çünkü yeni bir meydan okuma getiriyor. Çerçeve, daha büyük ekranları ve web tarayıcılarını fethetmek üzere. Son iki yılda Flutter dışında, iOS ve Android uygulamalarının kullandığı aynı Flutter kodundan web uygulamaları oluşturması beklenen Hummingbird adlı bir araştırma projesi vardı.

Proje olgunlaştı ve bir yıl önce çekirdek ekip onu çerçeveye dahil etti ve şu anda (Mayıs 2020 itibariyle) hala beta dalında. Ne anlama geliyor? Bugün bile Flutter kullanarak web uygulamaları oluşturmak mümkündür ve Google ekibi bunu her an kararlı olarak ilan edebilir. Bir kod, bir teknoloji, bir taşla üç kuş . Projeniz mükemmel bir uyum gibi görünüyor.

Platformlar arası uygulamalar için bir senaryo oldukça yaygındır. Birçok popüler ve iyi bilinen çözüm, zamandan ve paradan tasarruf etmek için bu modeli kullandı. Walmart, Soundcloud ve Bloomberg, platformlar arası mobil uygulamalara karar verdi. Cep telefonunuzda en az bir çapraz platform uygulaması olduğuna bahse girerim.

Platformlar arası geliştirme hizmetleri simgesi

Platformlar arası geliştirme hakkında merak mı ediyorsunuz?

Daha fazla bilgi edin

Ancak, bu arada web uygulamaları oluşturma olasılığı, bize sadece birkaç ay önce açılan bir şeydi. Büyük markaların hiçbiri bu hamleye henüz karar vermemiş olsa da, er ya da geç yeni başlayanlar ve hızlı PoC'ler için mükemmel bir araç olacağı bugün açık.

Uygulamanız için Flutter avantajları

Azaltılmış geliştirme maliyetleri

Flutter for Web kullanılarak, tek bir kod tabanı kullanılarak, teknolojik olarak birbirine bağlı tek bir ekip içinde, tek bir hızda üç uygulama oluşturulur. Üç farklı teknolojinin satıcılarını aramanız ve ardından çalışmalarını senkronize etmeniz gerekmez. Aynı ödeme işlevini veya sosyal medya yetkilendirmesini üç kez tekrarlamaya gerek yoktur.

Ancak bu, harcama sayısını üç kat sınırlayabileceğiniz anlamına gelmez. Çapraz platform için belirli bir işlevsellik sağlamak genellikle biraz daha karmaşıktır. Tecrübelerime göre, 1.2-1.5'e eşit bir çapraz platform çarpan faktörü gibi bir şey var. Bu, bir işlev bir platform için X saat geliştirme gerektiriyorsa, platformlar arası söz konusu olduğunda (1.2-1.5) * X sürdüğü anlamına gelir. Yine de, x3'e kıyasla x1.5, bütçeniz için kazançlı bir durum olabilir.

Daha hızlı uygulama geliştirme

Yukarıdakilerin tümü, çarpıntıyı PoC ve ürün fikri doğrulaması için mükemmel bir seçim haline getirir. Sadece birkaç hafta içinde, uygulama mağazalarına kolayca yayınlayabileceğiniz çalışan bir uygulamaya ulaşabilirsiniz. Potansiyel başarının ardından uygulamaları yerel teknolojilere yeniden oluşturmayı düşünebilirsiniz. Bu yolu Airbnb izledi. Platformlar arası mobil uygulamalarının başarısının ardından 2018'de yerel uygulamalara geçmeye karar verdiler.

Daha basit bakım süreci

Ayrıca, başvurunuz nihayet başarılı olduğunda ne olacağını unutmayın. Bakıma girdiğinde, bir Dart/Flutter uzmanıyla uygulamanın bakımını yapmak çok daha kolay. İşletmeniz, yalnızca kodu koruyarak üç farklı geliştirici için tam zamanlı görev bulamayabilir. Benzer şekilde, becerilerindeki herhangi bir dengesizlik, çalışma hızında farklılıklar yaratacaktır.

Farklı platformlarda paylaşılan görünüm ve his göz önüne alındığında, bir geliştirme ekibinin becerileri de önemlidir. Üç proje üzerinde çalışırken, nihai şekilleri geliştiricinin becerilerine ve kullanıcı arayüzü tutumuna büyük ölçüde bağlıdır. iOS kullanıcısı yuvarlatılmış köşeleri tercih ettiğinde ve Android'de bunlarla pek ilgilenmediğinde, bu iki uygulamanın ürün markasını nasıl etkilediklerinde farklılık gösterebileceği ortaya çıkabilir.

Web riskleri için Flutter

Gelişen teknoloji sorunları

Tamam, ama Web için Flutter'ı seçmenin riskleri veya dezavantajları var mı? Her zaman olduğu gibi, hikayenin iki tarafı var. Teknik açıdan, bunun hala bir beta teknolojisi olduğunu unutmamalıyız. Bu yüzden tamamen kararlı değildir ve hatta çözülemeyen bir sorunla karşılaşabilirsiniz . Birlikte var olan Flutter kitaplıklarının desteği de bazen eksik olabilir. Bir kitaplığın mobil cihazlarda bir cazibe gibi çalışması, ancak bunun için optimize edilmediği için net uygulamalarda çökmesi yaygındır. Bu, kullanıcı arayüzü ile sınırlı olduğunda küçük bir sorundur, ancak ana ödeme hizmeti entegrasyonunuz ise sorunlu olabilir.

Web uygulaması istisnaları

Diğer bir sorun ise, Android ve iOS uygulamalarının evrenleri çok benzer olsa ve çoğu durumda kod tabanı %95-100 aynı olsa bile, bu tarayıcı sürümü için geçerli olmayabilir. Alt sayfa çekmecesi, alt sekme menüsü veya yatay karuseller, web için pek uygun olmayan harika mobil UX kalıplarıdır. Genellikle, yalnızca web uygulaması için istisnalar oluşturmanız gerekir. Mimari tasarımın genellikle mobil ve web'de tamamen farklı olması gerekir. Çalışmanın en başında, tasarımcılar ve geliştiriciler arasında bir yuvarlak masa tartışması kurmak iyidir. Özellikle bütçenizi ve tarihlerinizi önemsiyorsanız, bakış açılarını paylaşmalarına ve fikir birliğine varmaya çalışmalarına izin verin.

Flutter vs React Native

Peki Flutter for Web tek seçeneğiniz mi? Tabii ki değil. En önemli alternatifi React Native'dir. React Native, Facebook'un Flutter'dan yıllar önce icat ettiği ve desteklediği rekabetçi bir çerçevedir. Tam olarak aynı şeyi yapmanıza olanak tanır - tüm iOS, Android ve web uygulamalarını (nispeten kısa bir süre için Flutter'a benzer şekilde) oluşturun.

Mobil uygulama geliştirme raporunun geleceği

Mobil uygulamalar için geleceğin neler getireceğini keşfedin

Raporu ücretsiz alın!

Son iki yılımı React Native ile çalışarak geçirdim, kısa süre önce Flutter dünyasına atladım, böylece bu ikisi arasında bir kararla karşı karşıya kalırsanız size bazı tavsiyelerde bulunabilirim. Her şeyden önce, bu düelloda tek bir kazanan yok , her iki teknoloji de olgun ve her ikisi de platformlar arası olarak mükemmel. Ancak belirli bir projeyi uygularken avantaj sağlayabilecek birkaç nüans vardır:

  • Özellikle hareketle ilgili kullanıcı arayüzüne (kaydırma, sürükleme, çekmeceleri dışarı çekme vb.) önem veriyorsanız, mimarisi ve yerel taraftaki jest desteği nedeniyle Flutter daha iyi bir seçim olacaktır. RN bazen iyi bir jest + animasyon kombo performansı sunmakta zorlanıyor.
  • Web, işletmeniz için en önemli temas noktasıysa , React Native'i seçin. RN, yerel olarak geliştirilen ürünlere çok daha yakın bir tarayıcı uygulaması üretir ve yerel araçlarla hata ayıklayabilirsiniz. Öte yandan, web projeleri için Flutter, tipik DOM'a aktarılmaz ve adaptörlere ihtiyaç duyar.
  • Uygulamanız yıllar içinde korunacak ve geliştirilecekse (veya üzerinde çalışan ekip zamanla değişebilir), Flutter ve Dart daha iyi bir çözüm olabilir.
  • Uygulamanız biraz daha karmaşık mekanizmaların (bluetooth, biyometri, coğrafi konum) veya harici entegrasyonların (ödemeler, sosyal medya) kullanıldığını varsayarsa, React Native daha uzun süredir piyasada ve çok daha geniş bir kitaplık yelpazesine sahip. Flutter for Web ekosistemi her ay büyüyor, ancak yine de mevcut kütüphanelerin araştırılması oradaki her projeden önce gelmelidir.

Bu iki yaygın popüler çerçeve hakkında daha fazla bilgi edinmek ister misiniz? React Native ve Flutter karşılaştırmamıza göz atın!

Özetliyor

Kullanıcılar daha önce hiç bu kadar platformlar arasında bu kadar dağınık olmamıştı. Mobil cihazlar ve web tarayıcıları buzdağının sadece görünen kısmıdır. Kullanıcılar arabalarda, saatlerde ve TV setlerinde uygulamaları giderek daha fazla kullanırken, sesli asistanlar da daha popüler hale geldi. Bu nedenle, süreci basitleştirmeye ve yazılım üretim maliyetlerini düşürmeye ihtiyaç vardır. Hem web hem de mobil geliştirme için tek bir kod tabanı zaten yaygın bir kalıptır ve Flutter for Web harika bir örnektir.

Serbest bırakma ürün simgesi

Flutter ile bir sonraki uygulamanızı oluşturun

Beraber çalışalım

Uzun bir süre Flutter for Web'i acemi bir teknoloji olarak düşündüm. Son çalışmalarım fikrimi değiştirmemi sağladı ve şimdi düzeltilmiş durumdayım. Flutter, parlak bir geleceğin önünde duran yetişkin bir genç adam ve kesinlikle dikkate değer. Küçük bütçeler ve kısa teslim süreleri olan fikirler için çekici bir seçim gibi görünüyor. Fikirlerini hızlı ve düşük maliyetle doğrulamak isteyenler, fikri olan ve pazarın ihtiyaçlarına cevap verenler içindir. Bu, Flutter'ın yazılım geliştirmede yaptığıyla tamamen aynı şeydir.

Umut verici mi?

Platformlar arası geliştirmenin işiniz için iyi bir çözüm olup olmayacağını mı merak ediyorsunuz? Ekibimizle iletişime geçin ve projeniz hakkında bir tahmin alın.