Нативная VS кроссплатформенная разработка | Что выбрать?

  Переглядів 12,708

Sergey Nemchinskiy

Sergey Nemchinskiy

День тому

Что такое, чем отличается нативная разработка VS кроссплатформенная разработка? Когда какой тип применяется.
🔥 Новый поток моего авторского тренинга GRASP and GoF Design patterns стартует уже 01.02.2024
Регистрация 👉 go.foxminded.ua/3Sv0Xls
🔥 Регистрируйся на курсы программирования со скидками от -50% - go.foxminded.ua/3u70sEK
⌛: Скидка действует до 31.01.2024.
Підписуйтесь на наш україномовний канал - www.youtube.com/ @SerhiiNemchynskyi
🧠 Регистрируйся прямо сейчас на менторинг
⬇️ Учись у профи ⬇️
🎓 Менторинг:
JAVA - go.foxminded.ua/42dINrw
PYTHON - go.foxminded.ua/3UmlRV0
C#/.NET - go.foxminded.ua/3SxnMVH
ANDROID - go.foxminded.ua/3OhVeNe
FRONT-END (ANGULAR, REACT) - go.foxminded.ua/3SyvttF
SALESFORCE Developer - go.foxminded.ua/3HArUxY
UI/UX дизайн - go.foxminded.ua/3HyYFvh
Unreal Engine - go.foxminded.ua/3Ubf4O9
QA Automation - go.foxminded.ua/3HFe6C1
IOS разработка - go.foxminded.ua/3Ufs4Ch
PHP - go.foxminded.ua/47P6o34
Unity - go.foxminded.ua/47VRlV7
NODE.JS - go.foxminded.ua/48Ztt46
GOLANG - go.foxminded.ua/48LP6Fq
Обучение на проекте - go.foxminded.ua/3Svyoo2
🎓Продвинутые курсы для состоявшихся девелоперов:
Enterprise patterns - go.foxminded.ua/3Sv12FM
Алгоритмы и структуры данных - go.foxminded.ua/499L7C2
C# NEXT - go.foxminded.ua/48Sk5zx
🔧 Пробное техническое собеседование со специалистом уровня Senior Developer/ Team Leader - go.foxminded.ua/3OewAgD
👔 Карьерная консультация с Сергеем Немчинским - go.foxminded.ua/47OpOoH
Есть вопросы по обучению в FoxmindEd? Пишите нам в телеграм - t.me/foxminded
Вы можете стать спонсором канала и получать плюшки - / @sergeynemchinskiy
Сайт FoxmindEd для новичков: go.foxminded.ua/47SIwvg
Сайт для разработчиков уровня мидл+: go.foxminded.ua/49cMMal
FoxmindEd в ФБ: / foxmindedco
FoxmindEd в Instagram: / foxminded.ua
Мой Telegram: t.me/nemchinskiyOnBusiness
Для деловых запросов: youtube@foxminded.ua
Тайминг:
00:00 - Вступление
00:41 - Зачем нужно выбирать между ними и как это влияет на проекты?
01:37 - Что такое нативная разработка?
03:49 - GRASP and GoF Design patterns
04:36 - Преимущества:
Максимальная оптимизация для конкретной платформы.
05:22 - Доступ к полному набору инструментов и функционала платформы.
05:47 - Недостатки:
Разработка для каждой платформы отдельно.
06:08 - Большие временные и финансовые затраты.
06:19 - Что такое кроссплатформенная разработка?
06:25 - Преимущества:
Один исходный код, работающий на разных платформах.
Эффективное использование ресурсов и времени.
06:40 - Недостатки:
Возможные ограничения в доступе к некоторым функциям платформы.
07:27 - Не всегда максимальная оптимизация для каждой конкретной платформы.
07:54 - Сравнение производительности
08:17 - Анализ производительности нативной и кроссплатформенной разработки.
08:37 - Как определить, какой подход лучше подходит для конкретного проекта.
09:44 - Факторы, влияющие на решение (бюджет, сроки, требования проекта).
#нативнаяразработк #немчинский

КОМЕНТАРІ: 86
@SergeyNemchinskiy
@SergeyNemchinskiy 3 місяці тому
🔥 Регистрируйся на курсы программирования со скидками от -50% - go.foxminded.ua/3u70sEK ⌛: Скидка действует до 31.01.2024.
@homopromo1399
@homopromo1399 3 місяці тому
Извините, что не по теме видео. Ваши курсы одни из самых дорогих в Украине, за период пробной недели у меня получилось сделать 1е задание на 60-70% примерно. После вопроса ментору, в правильном ли направлении двигаюсь, пришёл ответ - "ДА". Никаких замечаний, предложений, не говоря уже о подсказках. Понимаю, что программист должен "ВСЁ САМ" и это подготовка к реальной работе, но учитывая то , что отвечать должны раз в сутки, получается что во многом от подхода к делу ментора зависит скорость прохождения курсов. Менять менторов - тоже трата времени, не факт , что следующий окажется более способным (мотивированным) давать чуть более развернутые комментарии. Из сего хотелось бы попросить, чтобы менторы были более щедры на комментарии и замечания, хотя бы на начальном этапе! А пока смысла не вижу в оплате сухих "ДА, НЕТ". Спасибо за наличие тестового периода!
@aidajam3294
@aidajam3294 3 місяці тому
Я сеньор. Было бы интересно посмотреть это задание, если это возможно.
@homopromo1399
@homopromo1399 3 місяці тому
@@aidajam3294 Задание отыскать , на данный момент, проблематично. Вы синьор в бэкенд Java? Есть ли у Вас возможность менторить и сколько это будет стоить?
@Leonidn1972
@Leonidn1972 3 місяці тому
Я брвл курс.И после двух месяцов не продрлжил учебу. Менторство по чату, это не менторство. К сожелению курсы очень дорогие.
@NickNirov
@NickNirov 3 місяці тому
GPT за ментора сгодиться для начала
@alexandrapersukova
@alexandrapersukova 3 місяці тому
Добрый день, спасибо за ваш фидбек! Для нас он очень важен. Умение правильно задавать вопросы - один из важных скиллов программиста. Если ваш вопрос предполагал ответ да/нет, ментор так и ответил. Но к сожалению мы все живые люди (и ментора тоже) и бывает, что стиль общения одного ментора может не подойти студенту, поэтому мы и предоставляем возможность поменять ментора. Мы работаем win-win и мы заинтересованы, чтобы вы закончили обучение и получили профессию. Если бы наши ментора затягивали обучение, то были бы сотни негативных отзывов об этом. Но зачем это нам нужно?
@andreasstager1642
@andreasstager1642 3 місяці тому
Флаттер это не кроссплатформа, а мультиплатформа. Кроссплатформа - это ваша любимая жаба - один раз написал, один раз собрал, и потом везде запускается, только вот деплоится байткод, который работает через толстую прокладку в виде Java VM, которая его парсит, валидирует и превращает в нативный код. Еще так работает, например, Эрланг, или модный Эликсир. Мультиплатформа - когда один раз написал, а собираешь отдельно под каждую целевую платформу, в итоге деплоится машинный код под конкретную архитектуру, который работает непосредственно на железе безо всяких (или почти безо всяких) прокладок. Именно так работает Флаттер.
@uniers
@uniers 3 місяці тому
Согласен, также многие не знают что нативная разработка зависит от графического движка платформы, поэтому например в Андроиде разные вендоры по разному отрисовывают. А Флаттер типа игровых платформ, имеет свой графический движок.
@LeonidYakovlev85
@LeonidYakovlev85 3 місяці тому
Сергей и весь коллектив канала, традиционное спасибо за выпуск, как всегда здорово 👍
@maxyablochkin4313
@maxyablochkin4313 3 місяці тому
Также стоит добавить что с приходом KMP, стал вопрос о повторном использовании библиотек androidx (Jetpack libraries). Google задумался над тем чтобы переиспользовать эти нативные библиотеки на других платформах, например одна из них база данных Room в Android
@user-ct6pi3ox5e
@user-ct6pi3ox5e 3 місяці тому
Классный обзор, не хватило только краткого анализа почему сейчас в топе кроссплатформенных технологий реакт и флаттер И обязательно стоит упомянуть для новичков, которые смотрят в сторону кроссплатформенности что в любом случае придется изучать тонкости обеих систем, причем иногда даже глубже чем нативные разработчики, с целью «мирить» их между собой, при разработке функционала, который должен выглядеть одинаково, а реализуется по разному
@oranutachi
@oranutachi 3 місяці тому
Ни одно серьезное приложение не будет писаться на кроссплатформе. Это полурешение для сомнительной оптимизации (экономии) бюджета на начальном этапе. Если проект взлетит, то его все равно перепишут на нативку, если конечно команда заботится о user experience 🙂
@maxyablochkin4313
@maxyablochkin4313 3 місяці тому
Если абстрагироваться от сравнения кто круче, и принять, что каждый решает проблемы бизнеса , так будет лучше. Во Flutter мы не можем отделить логику от UI, в сравнении с KMP вместе с Compose. Например сделать нативный UI а некоторый код общий. Есть также отличия в интеграции компонентов разных ос. В Compose Multiplatform можем поместить Compose View внутрь SwiftUI, и наоборот, SwiftUI внутрь Compose View, таким образом сделав ui компонент который можно будет использовать сразу в 2 платформах. Есть также другие отличия. Но тут перечислил одни из главных.
@andreasstager1642
@andreasstager1642 3 місяці тому
Ну есть во флаттере PlatformView, в чем проблема. Насчет общего кода на Котлине - так это если бэк тоже на нем, тогда тоже не вижу проблемы, бэк и на Дарте можно писать.
@sashasorokolita
@sashasorokolita 3 місяці тому
Спасибо Сергей!Как всегда информативно! P.S. а музыка на фоне поломалась?
@SergeyNemchinskiy
@SergeyNemchinskiy 2 місяці тому
а что с ней не так?
@user-ee1lx1pe7n
@user-ee1lx1pe7n 3 місяці тому
Сергей, как всегда, спасибо) Жаль, непонятно, почему в последнее время стало так мало лайков и просмотров
@SergeyNemchinskiy
@SergeyNemchinskiy 3 місяці тому
Сами не знаем. Работаем над улучшением)
@artik222012
@artik222012 3 місяці тому
Стоит добавить что кроссплатформа не тоже самое что мультиплатформа, и будущее конечно за Kotlin Multiplatform 😊
@telekanalDobro
@telekanalDobro 3 місяці тому
В чем различие?
@andreasstager1642
@andreasstager1642 3 місяці тому
@@telekanalDobro Я описал в посте выше.
@sergeypekar1058
@sergeypekar1058 3 місяці тому
Возможно, только возможно, что еще в кроссплатформенной разработке инструментарий будет похуже, чем в том, что предлагает наливная. И в кроссплатформу порог входа, наверное, немного повыше, потому, что, желательно, хотя бы минимально, знать обе платформы
@user-gj2so1fv6c
@user-gj2so1fv6c 3 місяці тому
Кроссплатформа, в частности, Qt на C++ позволяет переиспользовать огромное количество кода между десктопными приложениями, мобилкой и даже серверным ПО. Напрямую можно использовать огромное число и всю мощь сишных библиотек. Также, под рукой всегда заголовочные файлы API всех ОС, т.к. они обязательно присутствуют в виде .h файлов. Единственный (подчеркнуто) существенный недостаток кроссплатформы - это UI, нативный UI, зачастую, сложно интегрируется к кросссплатформенные фремворки. Зачастую, сложно интегрировать какие-то новомодные интересные UI фишки конкретной платформы, т.к. это может потребовать переписывания огромного количества кода, либо вообще не возможно в конкретном фреймворке.
@telekanalDobro
@telekanalDobro 3 місяці тому
Интересный ролик. А что, если нужна соцсеть, которая работает на одном коде, и как *веб-приложение* , и как приложение под android и ios. Слышал, что могут себе это позволить: - флаттер; - и котлин мультиплатформ + jetpack Compose (фрейм UI для мультиплатформенной разработки). Правильно я понимаю, что ещё есть вариант веб-версию соцсети адаптировать под мобилку?
@drainage-water
@drainage-water 2 місяці тому
на флаттере нельзя писать вебапп под соцсеть. он вместо элементов с текстом в браузере картинку рисует. то есть не работает ни поиск через ctrl f, ни индексация в гугле. и еще лагает сильно
@igorchesnokov482
@igorchesnokov482 3 місяці тому
Про кросс-платформенную разработку можно еще сказать то, что фреймворк могут забросить и тогда нужно будет переписывать приложение на что-то еще. Например, Xamarin с мая 2024 отходит в мир иной. А вот нативная разработка прекратится только с окончанием времени жизни самой платформы.
@xvoidee
@xvoidee 3 місяці тому
У меня как то так получилось, что уже давно работаю в третьем варианте - нативная кроссплатформенная разработка :)
@andreasstager1642
@andreasstager1642 3 місяці тому
Это ни что иное, как мультиплатформа.
@nogipx
@nogipx 3 місяці тому
6:58 не совсем так, если какой-то функционал есть андроиде и нет на ios, то используя flutter вы сможете пользоваться им только на android. В рантайме есть возможность определять, на какой платформе запускается flutter.
@maxyablochkin4313
@maxyablochkin4313 3 місяці тому
Flutter тоже имеет возможность встраиваться в существующее нативное приложение, но делает это не так продвинуто как Compose / Compose Multiplatform. Compose с XML имеют совместимость, а Compose Multiplatform уже имеет совместимость с SwiftUI.
@olegoleg135
@olegoleg135 3 місяці тому
Смотря что разрабатывать. Если сайт какой-нибудь, то наверное кросслатформа будет выгоднее. А вот если какую-нибудь игру со сложной механикой и управлением...
@olego5633
@olego5633 3 місяці тому
Прямой перевод - native скорее Исконный, исконно. Типа с естественным происхождением из данной местности, то есть не пришлый хз откуда а истинно местный.
@ar4a597
@ar4a597 3 місяці тому
11:56 Приставлею тату I love JavaScript
@AntiSmithhh
@AntiSmithhh 3 місяці тому
пока "платформа" WASM выглядит наиболее универсальным решением. Но нужно конечно "запускать" браузером. Иии... не все легаси-прошивки мобилок будут поддерживать нужный функционал. а так... говнячишь всё хоть на Rust, собираешь под WASM.. и всё выглядит везде одинаково (даже на Мак/Писи/Линукс). Но есть ограничения доступа в файловой системе. Точнее, его нет совсем (пока). 😊
@arhitutorials
@arhitutorials 3 місяці тому
Если есть рабочее нативное приложение под одну платформу, то разработка под вторую будет прилично быстрее. А всё потому, что при разработке первого приложения имеем, как обычно, хаос по требованиям, постоянные переделки и вырвиглазные эксперименты с дизайном. А под вторую платформу приложение делается, кода требования уже стабилизированы, и нужно просто повторить функционал и UX с поправкой на специфику платформы - это намного проще и быстрее, чем переживать весь ад разработки с нуля)
@andreasstager1642
@andreasstager1642 3 місяці тому
Часто оригинал написан жопорукими индусами, что проще курить требования, чем переписывать, сверяясь с ним. И это даже не всегда может быть порт на другую платформу, а тупо апгрейд на более свежую версию фреймворка.
@Novelanex
@Novelanex 3 місяці тому
О комментариев еще нема)
@musicits_fun
@musicits_fun 3 місяці тому
Nativescript использует весь функционал нативный. Про другие не в курсе
@arkasar2083
@arkasar2083 3 місяці тому
Ну как можно было KMP даже не упомянуть. Да, он еще развивается, но ведь он полностью ломает эту схему с ноги. Мы тут недавно в два андроид разработчика выпустили приложение и на Android и под IOS используя KMP. По сути мы просто написали код для Android используя специальные либы, а на IOS все само собой уже работало. UI только чуть чуть адаптировали на нескольких экранах.
@vadimscherbinin4266
@vadimscherbinin4266 3 місяці тому
Після приблизно 7 років нативної розробки під Android перейшов на Flutter. Вже більше 2 років на Flutter, і поки що бажання повернутися до нативної розробки не виникло)
@zaur4094
@zaur4094 3 місяці тому
а мне показалось Flutter это попытка съэкономить работодателю... и соотвественно зп ниже(
@vadimscherbinin4266
@vadimscherbinin4266 3 місяці тому
​@@zaur4094 По економії роботодавцю та зп не знаю (давно не шукав роботу). Але як для розробника - мені подобається можливість робити застосунки під різні платформи, а не прив'язуватися до однієї.
@vyatcheslavterechtchenko5660
@vyatcheslavterechtchenko5660 3 місяці тому
Сергей, а Вы не собираетесь запускать курс по Flutter? Я бы записался.
@SergeyNemchinskiy
@SergeyNemchinskiy 2 місяці тому
пока нет, но он есть в планах
@LuckyCrusky
@LuckyCrusky 3 місяці тому
На обоях не будет работать. Только на обеих.
@CheckTime
@CheckTime 3 місяці тому
6:05 ценник не х2, поменьше, всё таки архитектуру разрабатывают системные аналитики, но процентов 30-50 точно плюс 8:25 работать могут две команды независимо, получается они делают быстрее И еще React Native фактически веб приложение завернутое в приложение, на нем нет доступа к системе и так же невозможно подключить аналитику для приложений.
@bxhdbx-ds5sy
@bxhdbx-ds5sy Місяць тому
Нативный - исконный, коренной, "родной"
@user-qg6fn3qx9m
@user-qg6fn3qx9m 3 місяці тому
Начните наконец осваивать blazor и в 80% разработки у вас отпадут проблемы с мультиплатформеностью. Оставшиеся 20% или меньше это уже отдельный рынок труда и боли), как с++. П.с. В большинстве приложений разницы в скорости нативных и кросплатформеных приложений ник то не заметит, как между блогером из Украины и Росии)
@insanaitkozha877
@insanaitkozha877 3 місяці тому
По флаттеру: 1. Ты можешь все взять из нативки и все нормально будет работать через плагины 2. Медленнее но никак не значительно и разрабатывать такое время 3. Стоит дешевле чем приложение под айос
@rvirgorn
@rvirgorn 3 місяці тому
На каждый паттерн есть анитипаттерн)) Такому ваши курсы небось не учат)) Такому учит жизнь))
@alexandrapersukova
@alexandrapersukova 3 місяці тому
Антипаттерны тоже разбираем)
@user-tt3mw3un8q
@user-tt3mw3un8q 3 місяці тому
И как ты успеваешь столько контента делать
@imITshnik
@imITshnik 3 місяці тому
Согласен, пусть Сергей поделиться своими умениями
@andreasstager1642
@andreasstager1642 3 місяці тому
За него его пишут "негры", он тока видосы записывает😅
@user-tt3mw3un8q
@user-tt3mw3un8q 3 місяці тому
@@andreasstager1642 не думаю, что это смешная тема) Уже не один раз слышу шутки о переработке рабов...
@SergeyNemchinskiy
@SergeyNemchinskiy 3 місяці тому
Секрет прост. Я не успеваю(
@user-tt3mw3un8q
@user-tt3mw3un8q 3 місяці тому
@@SergeyNemchinskiy А зачем тогда такой поток видео ставить? Они даже в качестве не падают, это же сценарий, монтаж небольшой, и всё же время...
@VeetDobrom
@VeetDobrom 2 місяці тому
Я так понимаю это заказчиков видео? А не для желающих изучить программирование?
@SergeyNemchinskiy
@SergeyNemchinskiy 2 місяці тому
наши заказчики - наши клиенты :) наши студенты
@Captal_de_Bush
@Captal_de_Bush 3 місяці тому
Сейчас народ сидит на 5 крупных платформах(типа фейсбук, ютуб, тик ток), а приложения, веб-сайты отходят в сторону.
@telekanalDobro
@telekanalDobro 3 місяці тому
Авито, озон, wb, amazon, почтовые сервисы?
@Captal_de_Bush
@Captal_de_Bush 3 місяці тому
@@telekanalDobro так амазон это тож в топе, авито в РФ хз как. Но это не приложения, или сайты личного бренда.
@telekanalDobro
@telekanalDobro 3 місяці тому
​@@Captal_de_Bush, всё перечисленное - это веб-приложения с возможностью подгружать на мобилки вариант мобильного приложения. Что касается чисто веб-сайтов, то они также просматриваются через поисковую выдачу. Например, сайты с анекдотами ежедневно посещает около 100 тысяч человек. Или, например, информация об отдыхе в Никарагуа, Чили и Перу.
@zaur4094
@zaur4094 3 місяці тому
банковское приложение? Доставка еды? Карты? Госуслуги разные?
@Captal_de_Bush
@Captal_de_Bush 3 місяці тому
@@zaur4094 это не коммерция, я о своем сайте, или приложении для своего личного бренда говорю.
@PigManPig
@PigManPig 4 дні тому
ПЛАТФОРМА - ОНА. Это женский род. Женский. Почему "совпадает на ОБОИХ платформах" ? Слишком много раз за видео услышал - не выдержал..
@SergeyNemchinskiy
@SergeyNemchinskiy 4 дні тому
а как надо?
@PigManPig
@PigManPig 4 дні тому
@@SergeyNemchinskiy "на обеих платформах") Ты там даже говоришь пару раз правильно, но потом снова "на обоих". Да это я так, просто мне слишком слух резало
@viacheslavabramovych5365
@viacheslavabramovych5365 3 місяці тому
Фоксиайндед… а коли українською? Чи ринок СНГ це занадто дорого щоб полишити…
@alexandrapersukova
@alexandrapersukova 3 місяці тому
У нас є окремий україномовний канал, підписуйтесь, посилання є в описі)
@kalugarussia
@kalugarussia 3 місяці тому
а зачем жевто-блакитный флаг в углу?
Что такое Java и как ее выучить?
19:55
Sergey Nemchinskiy
Переглядів 117 тис.
ЧТО ДЕЛАТЬ, ЕСЛИ НЕ ХВАТАЕТ ДЕНЕГ НА ВОССТАНОВЛЕНИЕ ТАЧКИ?
47:52
😱СНЯЛ СУПЕР КОТА НА КАМЕРУ⁉
00:37
OMG DEN
Переглядів 327 тис.
Повістки у Києві: «Яке право вони мають забирати всіх мужиків?» #війна #мобілізація #військові
00:41
Слідство.Інфо | Розслідування, репортажі, викриття
Переглядів 1,6 млн
Нужна ли математика программисту?
12:49
Sergey Nemchinskiy
Переглядів 60 тис.
Великовозрастный программист. Стоит ли идти в IT в 40 лет
8:17
Дилетант широкого профиля
Переглядів 6 тис.
Исправляем очень плохой код | Clean Code
21:34
Sergey Nemchinskiy
Переглядів 15 тис.
ПОЧЕМУ IT НЕ СДЕЛАЕТ ТЕБЯ БОГАТЫМ?
12:51
ЧТО ДЕЛАТЬ, ЕСЛИ НЕ ХВАТАЕТ ДЕНЕГ НА ВОССТАНОВЛЕНИЕ ТАЧКИ?
47:52