Problèmes liés à la boîte à outils dans les grands projets


L'outil principal de tout programmeur est un langage de programmation. Lorsque le projet a commencé, nous avons choisi Swift. Nous avons décidé de suivre le temps, l'ancien, mais le bien-aimé Objective-C a été laissé au chômage. Cependant, Swift a un petit problème, et il devient particulièrement visible lorsque le projet commence à croître - c'est le problème du temps de construction du projet. Pour comprendre le problème et la taille du projet, essayons de comparer le temps de construction moyen par semaine pour tous les projets de studio.


image


Comme vous pouvez le voir sur le graphique, le temps de construction médian du projet ZenitOnline est plusieurs fois plus grand que tous ceux présentés. Et croyez-moi, d'autres projets ne sont pas si petits. Le projet Objective-C présente un intérêt particulier, qui à son tour est comparable en taille à notre projet. Les deux contiennent plus de 100 écrans. En un an et demi de développement, nous avons réussi à atteindre les chiffres suivants:


  • ≥ 2500 fichiers;
  • ≥ 600 ressources;
  • ≥ 160 000 .

, , 1500 xcode , , :


Unable to spawn process (Argument list too long)

SO, Swift Jira Open Radar, , . , :


  1. , , . - .
  2. . - , .
  3. , , . , .

SO.
, , , .


, . . , , , , . :


image


3rd Party Dependency – , . CocoaPods. .


Core Frameworks – , .


  • Common – , . , , , extensions UI .
  • Services – . , , .
  • Reusable – UI- : , , .
  • Analytics – , , , .
  • Core – , . – , Core . .

Feature Frameworks – , . Core . .



? :


  • .
  • .

« » , . , . « », , , xcode , . , , .


, — - . .


P.S. Xcode 11 . .


, , .


All Articles