SwiftとObjective-C

1487 ワード

        Swift     Objective-C      ,   Apple        Objective-C      Framework    ,        Swift   
                                                                                                                                    — Cyan

現在、アップルのフレームワークは、下層実装にCを使用し、Objective-Cを装着して外部インタフェースを露出している.この方式は性能を保証するとともに、APIの使いやすさを保証することができる.
またアップルは大量のオープンソースフレームワークを使用しており、システムの下部には多くのモジュールがあり、すでにオープンソースのC言語ベースのフレームワークが実現されており、Cとのインタラクションにおいて、Swiftは明らかにObjective-Cほど便利ではない.
Swiftの現在の問題
コードは安定していて、実はすべて小さい事で、移行して、数十万行のコード、すべての人に割り当てて、せいぜい1週間の事です.Swiftの開発者は積極的で、主流のサードパーティフレームワークは基本的に2週間以内に最新のバージョンに更新でき、私が使っているライブラリの75%はbetaの時期からSwiftの更新にフォローしています.
Swift 3の最大の問題はやはりツールチェーンが不安定だと思います
インクリメンタルコンパイルが悪い.いつでもSegment Faultをコンパイルするには、cleanを一度にしなければなりません.長いコンパイル時間コンパイルエラーのたびにcleanの後に7、8分コンパイルする必要があるかもしれませんが、どのような文法がコンパイル時間を長くするリストをまとめたのか、コンパイル時間を短縮するためにコードのあり方を強引に変えるのは価値がないと思います.私が採用した解決方法は、下位モジュールを抽出し、独立してフレームワークにし、Carthageを使用してパケット管理を行い、すべて静的ライブラリにコンパイルし、debugコンパイルするときは、リンクさえすればいいので、コンパイル時間を大幅に減らし、また増分コンパイルの作業量が減少したと判断するため、インデックス速度も大幅に向上します.コードの補完とコードのハイライトはもっとよく機能します.(ちなみに、CarthageはSwiftで書かれています)コードのハイライトは随時崩れ、コードの補完はほとんどありません.Xcodeは白板になりやすいので、個人的には発生状況は多くなく、1日に2、3回程度遭遇することができますが、コードの補完は本当に全くありません.毎日基本的には盲打で、U i c o l l e c t i o n E l e m entKindSectionFooterのようなものだけがコードの補完を待っています.(補足ですが、AppCode EAPはSwift 3のサポートが異常に良く、補完もハイライトも日常的なニーズをよく満たすことができ、私のAir 8 gメモリはよく走ることができます)
参考文献:あなたが主力のSwiftかどうかにかかわらず、これらのことはあなたが理解することができます.