Masalah Toolkit dalam proyek besar


Alat utama setiap programmer adalah bahasa pemrograman. Ketika proyek dimulai, kami memilih Swift. Kami memutuskan untuk mengikuti perkembangan zaman, yang lama, tetapi Objective-C yang sangat dicintai tidak bekerja. Namun, Swift memiliki masalah kecil, dan menjadi nyata ketika proyek mulai tumbuh - ini adalah masalah waktu pembangunan proyek. Untuk memahami masalah dan ukuran proyek, mari kita coba membandingkan waktu pembuatan rata-rata per minggu untuk semua proyek studio.


gambar


Seperti yang dapat Anda lihat dari grafik, waktu pembuatan rata-rata proyek ZenitOnline beberapa kali lebih besar daripada yang disajikan. Dan percayalah, proyek lain tidak begitu kecil. Yang menarik adalah proyek Objective-C, yang pada gilirannya sebanding ukurannya dengan proyek kami. Keduanya berisi 100+ layar. Lebih dari satu setengah tahun pembangunan, kami berhasil mencapai angka-angka berikut:


  • โ‰ฅ 2500 file;
  • โ‰ฅ 600 sumber daya;
  • โ‰ฅ 160 000 .

, , 1500 xcode , , :


Unable to spawn process (Argument list too long)

SO, Swift Jira Open Radar, , . , :


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

SO.
, , , .


, . . , , , , . :


gambar


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