Что выбрать: кроссплатформенная или нативная разработка мобильного приложения

Перед тем, как приступить к созданию мобильного приложения, стоит задуматься о выборе технического подхода к процессу: нативной или кроссплатформенной будет разработка?

55

Судя по «обильным» комментариям ваш материал явно не для VC :)

Но, вам «повезло», что вы «нарвались» на коллегу по цеху, который может предположить, что у вас еще мало опыта использования фреймворков в мобильной разработке, чтобы писать такие статьи. 

«Многие маркетологи, имея лишь базовые знания HTML/CSS/JS, успешно используют Ionic» -
действительно, Ionic, Cordova, Xamarin и другие фреймворки можно использовать для простых задач (аля WebView), чтобы быстро решить проблему в ущерб производительности. 

Но, причем тут: «Многие стартапы выбирают Flutter для того, чтобы быстро сделать минимально жизнеспособную версию продукта (MVP), доказав тем самым на практике конкурентоспособность своего детища.» или «Поддерживать кроссплатформенный код гораздо сложнее, чем нативный.» 

Многие стартапы хотят использовать Flutter, но стоимость работы специалистов Flutter/Dart им не по карману, и они вынуждены довольствоваться тем, что могут себе позволить: Ionic, Cordova, Xamarin. 

Flutter – это лучшее, что появилось в мобильной разработке за все время ее существования! Ко всему, может случиться так, что это будет единственно подходящий инструмент для разработки приложений под новую Fuchsia (операционная система, разрабатываемая компанией Google, взамен Android). 

Конечно, использовать только Flutter не получится. Flutter – это только интерфейсы, многие системные и нестандартные методы остаются в нативе. Чтобы разрабатывать на Flutter нужно знать все: Flutter/Dart + xCode/Swift + Android/Java - именно поэтому специалисты Flutter «дороже» других. 

Если у вашей студии есть возможность разработать более-менее серьезное приложение для iOS и Android платформ в нативе, а затем, перевести на Flutter, далее, сравнить скорость работы интерфейсов, то вы сразу поймете, почему Flutter – это действительно «новая эра» в разработке визуальных частей мобильного приложения! 

Например, на Android устройствах нативный код работает через Java-машину и поэтому интерфейсы тормозят, а Flutter работает напрямую с операционной системой и ее графическим ускорителем – все интерфейсы просто летают! 

П.С. Мой контакт в приложении-мессенджере, которое изначально было разработано в нативе для iOS и Android платформ, а затем полностью переписано на Flutter: https://help-signal.com/@admin – мне есть с чем сравнивать. А у вашей студии есть такой опыт и примеры?    

1
Ответить

Flutter на всех платформах - это эмуляция нативного интерфейса. Спорный подход. Производительность на iOS едва ли будет выше. На андроиде - не знаю, возможно. Но поведение интерфейсов может отличаться от нативного.

Кстати - React native почему то не упоминается. Зря. Популярный вариант

Ответить