Toolkit-Probleme in großen Projekten


Das Hauptwerkzeug eines jeden Programmierers ist eine Programmiersprache. Als das Projekt begann, entschieden wir uns für Swift. Wir beschlossen, mit der Zeit Schritt zu halten, das alte, aber so geliebte Objective-C wurde von der Arbeit ausgeschlossen. Swift hat jedoch ein kleines Problem, und es macht sich besonders bemerkbar, wenn das Projekt zu wachsen beginnt - dies ist das Problem der Erstellungszeit des Projekts. Um das Problem und die Größe des Projekts zu verstehen, versuchen wir, die durchschnittliche Erstellungszeit pro Woche für alle Studio-Projekte zu vergleichen.


Bild


Wie Sie in der Grafik sehen können, ist die mittlere Erstellungszeit des ZenitOnline-Projekts um ein Vielfaches größer als alle dargestellten. Und glauben Sie mir, andere Projekte sind nicht so klein. Von besonderem Interesse ist das Objective-C-Projekt, dessen Größe wiederum mit unserem Projekt vergleichbar ist. Beide enthalten mehr als 100 Bildschirme. In anderthalb Entwicklungsjahren konnten wir folgende Zahlen erzielen:


  • ≥ 2500 Dateien;
  • ≥ 600 Ressourcen;
  • ≥ 160 000 .

, , 1500 xcode , , :


Unable to spawn process (Argument list too long)

SO, Swift Jira Open Radar, , . , :


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

SO.
, , , .


, . . , , , , . :


Bild


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