Il y a quelques jours DĂ©veloppeurs Dropbox via post sur le blog officiel de l’application Ils ont annoncĂ© la voie qu’ils souhaitent emprunter en termes de dĂ©veloppement mobile Votre application multiplateformeoĂč l’Ă©quipe a dĂ©cidĂ© de crĂ©er une base de code unifiĂ©e, Ă diffĂ©rentes fins ou plates-formes.
L’approche peut ĂȘtre utile pour les petites Ă©quipes avec peu de compĂ©tences, mais la production doit ĂȘtre aussi rapide que possible. L’Ă©quipe Dropbox utilise cette stratĂ©gie depuis 2013. UMAAstuce pour les plates-formes Android et iOS via une base de code C ++ exclusive. La publication explique pourquoi la sociĂ©tĂ© prĂ©fĂšre le dĂ©veloppement local Ă Swift et Kotlin.
“En construisant notre base de code d’une maniĂšre non standard, nous hĂ©ritons de coĂ»ts dont nous n’aurions pas Ă nous soucier si nous nous habituions Ă grande Ă©chelle aux armes standard utilisĂ©es par des tiers.” En fin de compte, c’Ă©tait plus cher que d’Ă©crire deux fois du code “, a-t-il dĂ©clarĂ©.
Brusquement Les commentaires des ingĂ©nieurs de Dropbox montrent le choix de l’approche de dĂ©veloppement multiplateforme Il introduit des coĂ»ts de dĂ©veloppement supplĂ©mentaires associĂ©s Ă l’implĂ©mentation de bibliothĂšques et de structures personnalisĂ©es.
Sans oublier ceux liĂ©s Ă la mise en place d’outils de travail personnalisĂ©s ou Ă la nĂ©cessitĂ© de former ou d’engager des tiers capables de s’adapter Ă une pile logicielle hautement personnalisĂ©e.
En rĂ©alitĂ© Souligne que le choix de C ++ pour le dĂ©veloppement multiplateforme Android et iOS peut entraĂźner des difficultĂ©s pour les dĂ©veloppeurs ils ne l’auraient pas eu nativement.
Par exemple, la mise en place d’un cadre de gestion des tĂąches d’arriĂšre-plan peut ĂȘtre critique dans le pipeline de dĂ©veloppement multiplateforme C ++.
Au contraire Un autre ingĂ©nieur explique l’ingĂ©nieur Dropbox, ce n’est pas un problĂšme natif.
En outre, il affirme que l’Ă©quipe Dropbox devait configurer une bibliothĂšque JSON pour C ++ 11 et une autre pour gĂ©rer les pointeurs NULL.
L’ingĂ©nieur de l’entreprise est allĂ© encore plus loin, soulignant qu’il se tournait vers la thĂ©orie selon laquelle une base de code unique peut ĂȘtre fournie pour plusieurs plates-formes.
En effet, les particularités de chaque plateforme sont des facteurs incontournables.
“La façon dont une application fonctionne en arriĂšre-plan est spĂ©cifique Ă la plate-forme et doit ĂȘtre prise en compte dĂšs le dĂ©part”, dit-il.
Outre les considĂ©rations affectant le code, il existe Ă©galement des considĂ©rations liĂ©es aux outils de travail. Dans cette optique, l’ingĂ©nieur de l’entreprise dĂ©veloppe sur deux axes: le dĂ©bogage et la configuration d’outils spĂ©cifiques au client.
«Le dĂ©bogage natif est gĂ©nĂ©ralement supĂ©rieur au C ++ grĂące Ă l’IDE standard de la plate-forme cible», Ă©crit-il pour le dĂ©veloppement d’autres qui peuvent prendre en charge l’approche multiplateforme en C ++. “
En termes de formation et de recrutement, Eyal Guthmann affirme enfin que l’aventure multiplateforme repose sur un noyau d’ingĂ©nieurs ayant une solide comprĂ©hension du C ++.
Avec son dĂ©part vers d’autres Ă©quipes ou entreprises.L’entreprise a eu de plus en plus de mal Ă combler l’Ă©cart technique pour maintenir la base de code C ++. En interne et en externe, la sociĂ©tĂ© a eu du mal avec une formation et un recrutement supplĂ©mentaires dans ce domaine, car apparemment trĂšs peu de dĂ©veloppeurs d’appareils mobiles sont intĂ©ressĂ©s par le C ++.
La transmission d’Ă©quipement Dropbox aux peuples autochtones via Kotlin et Swift pour Android et iOS prĂ©sente des avantages.
En fait, le langage C ++, avec le C qu’il ne cite plus, sert de dĂ©nominateur commun pour gĂ©rer ces problĂšmes.
Il n’est pas difficile d’imaginer que le groupe d’ingĂ©nieurs d’origine les ait intĂ©grĂ©s pour gĂ©rer certains aspects critiques du backend. Vous ne pouvez poser des questions que sur la qualitĂ© de l’interface C ++ avec les plateformes cibles.
Source: https://blogs.dropbox.com/
