Dropbox меняет код на кроссплатформенный с помощью C ++

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

Такой подход может быть полезен небольшим командам с небольшими навыками, но производство необходимо как можно быстрее. С 2013 года команда Dropbox полагается на эту стратегию. КПодсказка для платформ Android и iOS с помощью уникальной базы кода, построенной на C ++. В сообщении объясняется, почему компания теперь предпочитает нативную разработку на Swift и Kotlin.

«Собирая нашу кодовую базу нестандартным способом, мы унаследовали затраты, о которых нам не пришлось бы беспокоиться, если бы мы соответствовали оружию по умолчанию, которое третьи стороны используют в больших масштабах». В конце концов, это было больше дороже, чем написание кода в два раза ", - сказал он.

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

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

В самом деле, подчеркивает, что выбор C ++ для кроссплатформенной разработки под Android и iOS может привести разработчиков к трудностям. что они не имели бы изначально.

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

В отличие от этого, Другой инженер объясняет инженеру Dropbox, что для нативного языка это не проблема.

Он даже утверждает, что команде Dropbox в процессе пришлось настроить библиотеку JSON для C ++ 11, а также другую для обработки указателей NULL.

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

Фактически, настаивает он, особенности каждой платформы - это факторы, которых нельзя избежать.

«То, как приложение работает в фоновом режиме, зависит от платформы, и вы должны смотреть на это с самого начала», - говорит он.

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

«Встроенная отладка в целом превосходит C ++ благодаря IDE по умолчанию целевой платформы», - пишет он, добавляя, что «помимо необходимости отходить от доступных инструментов, нам пришлось мобилизовать усилия разработчиков для разработки другие, способные поддерживать кроссплатформенный подход в C ++. «

Наконец, что касается аспектов обучения и найма, Эяль Гутманн указывает, что кроссплатформенное приключение было построено вокруг ядра инженеров с солидным опытом работы в C ++.

С уходом последних в другие команды или компаниикомпании становится все труднее восполнить технический пробел в поддержании кодовой базы C ++. Внутри и вне компании у компании возникли проблемы с обучением и набором персонала по этой оси, потому что кажется, что очень немногие мобильные разработчики заинтересованы в C ++.

Перевод команды с Dropbox на нативный через Kotlin и Swift для Android и iOS имеет свои преимущества.

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

Нетрудно представить, что первоначальная группа инженеров интегрировала его для управления некоторыми критическими аспектами серверной части. Только вопросы о качестве интерфейса C ++ с целевыми платформами можно ставить на стол.

источник: https://blogs.dropbox.com/


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.