Рубрики
Uncategorized

Кроссплатформенная разработка

Одна кодовая база, несколько платформ. Мы слышали это обещание с тех пор, как Java был освобожден. Я берущ … Теги с DevOps, CodeNewie, производительностью, кодированием.

Одна кодовая база, несколько платформ. Мы слышали это обещание с тех пор, как Java был освобожден. Я беру продолжающуюся популярность Java в знак того, что он несколько доставлен на обещание.

Много лет спустя мы все еще в точке, где многие рамки, такие как флаттер, Xamarin, Cordova и React Reactious, обещают нам доставлять что Magic Silver Bullet: кроссплатформенная мобильная разработка. Основываясь на моем собственном опыте, я бы сказал, что они не могут.

Теперь я, конечно, не пытаюсь игнорировать тяжелую работу, проделанную команды указанных структур. Они все блестящие, и я люблю, что инструменты существуют. Но вы должны основывать свою работу от них по правильным причинам.

Если вы думаете, что можете просто написать свой код, а затем начать обналичивать в банке, потому что вы можете опубликовать свои приложения на множестве платформ, в одном переходе с небольшим количеством не работающих, вы находитесь за большой сюрприз.

Позвольте мне описать несколько наблюдений, которые я сделал:

  • Кроссплатформенные инструменты почти никогда не наравнете с инструментами, предлагаемыми нативной платформой. Таким образом, вам придется принять некоторые недостатки, такие как самые последние функции, которые вам не доступны.

  • Вы не собираетесь избегать писать родных кодов (или классов обертки), скажем, Kotlin/Java/Swift/Objective-C. Таким образом, вы должны быть опытными в одном из этих языков.

  • Чем дальше от собственной платформы вы шагаете, тем более вероятно, что ваша заявка становится нестабильной, потому что есть больше мест вашего кода или ваша насадочная информация может и сломается.

  • Устаревшие или неполные сторонние библиотеки. Первый, вероятно, блокирует или задерживает вашу возможность обновлять свое приложение. Последнее заставит вас придется переосмыслить недостающие функции, которые уже в родных библиотеках (мы не хотим изобретать колесо, мы?).

  • Ваш набор инструментов сломается в какой-то момент. Я потратил бесчисленные часы, пытаясь определить, разбился ли сборка в связи с ошибкой в кроссплатчатичной структуре или инструментах, поставляемых на платформе, которую я собираюсь. Однако это действительно структурная проблема, которую я полагаю, что происходит всякий раз, когда насадочная машина становится слишком сложной, как мы видели в последние годы с другими проектами, такими как Nodejs.

В целом, я думаю, что проблемы, с которыми я встречался по пути, поражает цель использования мобильной кроссплатформерной разработки инструмента. На одном из моих питомцев я вернулся к отдельным кодовым базам. Это означает длительное время разработки, что вполне облом, но наоборот, я забираю несколько новых языков, а не борьба с проблемами, связанными с набора инструментов. Совсем неплохо:)

Это мой опыт. Что тебя?:)

Оригинал: «https://dev.to/sjustesen/cross-platform-development-214p»