2020-ci ildə “Veb sayt yoxsa mobil tətbiq?” sualını yazmışdım. Tətbiq lazım olduğuna qərar verəndən sonra isə növbəti sual gəlir: onu necə quraq? Hər platforma üçün ayrıca, yoxsa bir kodla hər ikisi üçün?
Mən özüm Flutter ilə işləyirəm, amma bu yazıda onu hər layihəyə məsləhət görməyəcəyəm. Gəlin fərqlərə baxaq.
Native nədir, Flutter nədir
Native — hər platformanın öz dili və aləti ilə qurulan tətbiqdir: iOS üçün Swift, Android üçün Kotlin. Nəticədə iki ayrı tətbiq, iki ayrı kod bazası, çox vaxt da iki ayrı komanda olur.
Flutter — Google-un açıq mənbəli alətidir. Dart dilində yazılan bir kod bazasından həm iOS, həm də Android tətbiqi çıxır. İstəsən, eyni koddan veb və masaüstü versiya da qurmaq olar. Bu sahədə yeganə alət deyil, React Native kimi alternativlər də var, amma yanaşma eynidir: bir kod, bir neçə platforma.
Flutter-in üstünlükləri
- Bir kod, bir komanda. Funksiya bir dəfə yazılır, xəta bir dəfə düzəldilir. Bu, həm büdcəyə, həm də vaxta birbaşa təsir edir.
- Eyni görünüş. Tətbiq hər iki platformada eyni görünür və eyni işləyir. Brend üçün bu vacibdir.
- Sürətli inkişaf. Dəyişikliyi dərhal ekranda görmək interfeys üzərində işi xeyli sürətləndirir.
- Kifayət qədər performans. Əksər biznes tətbiqlərində — mağaza, sifariş, rezervasiya, şəxsi kabinet — istifadəçi fərqi hiss etmir.
Məhdudiyyətləri
- Tətbiqin həcmi native tətbiqdən bir qədər böyük olur.
- Platformanın yeni imkanları bəzən gecikmə ilə gəlir və ya native kod tələb edir.
- Plaginlərdən asılılıq. Cihazın bəzi funksiyaları üçün hazır plagin lazımdır; plagin zəif saxlanılırsa, problem də sənin olur.
- Platformanın “hissi”. iOS və Android istifadəçiləri fərqli davranışlara öyrəşib. Bunu Flutter-də də etmək olar, amma əlavə diqqət tələb edir.
Native nə vaxt daha yaxşıdır
- Ağır qrafika, oyunlar, artırılmış reallıq.
- Cihazın dərin funksiyaları: Bluetooth avadanlıqları, arxa fonda daimi işləmə, sağlamlıq sensorları.
- Yalnız bir platforma hədəfdirsə. Onda “iki platforma” üstünlüyü itir.
- Şirkətin artıq ayrı iOS və Android komandaları varsa.
Bəlkə tətbiq lazım deyil?
Kontent, kataloq, sadə forma və ya rezervasiya üçün yaxşı qurulmuş mobil sayt və ya PWA çox vaxt kifayətdir: yükləmək lazım deyil, mağaza təsdiqi gözlənilmir, axtarışda görünür. Bu barədə “PWA mobil tətbiqlərin sonudur?” yazısında ətraflı danışmışdım. Tətbiq yalnız istifadəçi onu telefonunda saxlamaq üçün səbəb tapanda mənalıdır.
Qərar üçün 6 sual
- İstifadəçilərin hansı platformadadır? Hər ikisindədirsə, Flutter güclü namizəddir.
- Cihazın hansı funksiyaları lazımdır? Siyahı uzundursa və xüsusidirsə, native-ə bax.
- Büdcə iki ayrı komandaya çatırmı?
- Nə qədər tez buraxmalısan? Sürət vacibdirsə, bir kod bazası üstündür.
- Tətbiq oflayn işləməlidirmi? Hər iki yolla mümkündür, amma əvvəlcədən planlanmalıdır.
- İki il sonra kim dəstəkləyəcək? Seçdiyin texnologiya üçün developer tapmaq asan olmalıdır.
Nəticə
Əksər startap və biznes tətbiqləri üçün Flutter ağıllı başlanğıcdır: bir kod, bir komanda, iki platforma. Amma “hamı istifadə edir” arqument deyil. Arqument sənin istifadəçin və tətbiqinin tələbləridir.
İlk versiyanı nə qədər kiçik saxlamaq lazım olduğunu “MVP: 6 həftəyə sığan ilk versiya necə qurulur” yazısında yazmışam. Veb, mobil, yoxsa PWA seçimində tərəddüd edirsənsə, mentorluqda birlikdə qərar verək.
