قضايا مجموعة الأدوات في المشاريع الكبيرة


الأداة الرئيسية لأي مبرمج هي لغة البرمجة. عندما بدأ المشروع ، اخترنا Swift. قررنا مواكبة العصر ، ولكن تم ترك الهدف-سي المحبوب من العمل. ومع ذلك ، يعاني Swift من مشكلة صغيرة ، ويصبح ملحوظًا بشكل خاص عندما يبدأ المشروع في النمو - هذه هي مشكلة وقت بناء المشروع. لفهم المشكلة وحجم المشروع ، دعنا نحاول مقارنة متوسط ​​وقت البناء في الأسبوع لجميع مشاريع الاستوديو.


صورة


كما ترى من الرسم البياني ، فإن متوسط ​​وقت البناء لمشروع ZenitOnline أكبر عدة مرات من جميع تلك المقدمة. وصدقوني ، المشاريع الأخرى ليست صغيرة. ومما له أهمية خاصة مشروع Objective-C ، والذي بدوره يمكن مقارنته بحجم المشروع. يحتوي كلاهما على أكثر من 100 شاشة. على مدى عام ونصف من التطوير ، تمكنا من تحقيق الأرقام التالية:


  • ≥ 2500 ملف ؛
  • ≥ 600 موارد ؛
  • ≥ 160 000 .

, , 1500 xcode , , :


Unable to spawn process (Argument list too long)

SO, Swift Jira Open Radar, , . , :


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

SO.
, , , .


, . . , , , , . :


صورة


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