Cocoa pod, và Carthage anh nào tiện ích hơn ??
Ở bài viết này tôi sẽ tìm hiểu về sự khác nhau giữa 2 công cụ Cocoa pod, và Carthage Cocoapods : Là chương trình giúp quản lý các bộ thư viện được được sử dụng trong ứng dụng mobile được phát triển dựa trên khung làm việc Cocoa, hay được coi là phần mềm quản lý các bộ thư viện phụ thuộc của ...
Ở bài viết này tôi sẽ tìm hiểu về sự khác nhau giữa 2 công cụ Cocoa pod, và Carthage
Cocoapods : Là chương trình giúp quản lý các bộ thư viện được được sử dụng trong ứng dụng mobile được phát triển dựa trên khung làm việc Cocoa, hay được coi là phần mềm quản lý các bộ thư viện phụ thuộc của ứng dụng. Hay nói một cách đơn giản , nó là công cụ quản lý các mã nguồn mở viết bằng Objective-C cho iOS và MacOSX
Carthage cũng tương tự như cocoapods là một công cụ quản lý các Library của Swift
Cocoapods: Do đặc tính đơn giản, dễ quản lý và ít bước mà cocoapods vẫn đang được các anh DEV iOS lựa chọn. Trước đây khi chưa có cocoapods Dev sẽ phải tự quán lý các thư viện 3rd partise , sẽ phải build settings cấu hình Search Paths, hay build Phrase để thêm statis libraries… Hiện nay đang có hơn 977 pod spec được làm sẵn , và các lập trình viên có thể bổ sung thêm để chia sẻ cho cộng đồng. Khi bạn muốn add thêm 1 library vào project , Bạn sẽ phải thêm tệp văn bản có tên ‘Podfile’ vào thư mục gốc của ứng dụng và thêm ‘pod- FrameworkName’. Rồi chạy ‘pod install’ trên Terminal, phần còn lại cocoapods sẽ thực hiện cho bạn. Sau đó, bạn sẽ mở project của mình thông qua file .xcworkspace trong thư mục gốc của ứng dụng toàn bộ list pods mà bạn vừa thêm, rồi sử dụng chúng.
Dùng Carthage để rút ngắn thời gian build Xcode projects, Carthage cũng tương tự như cocoapods . Bạn sẽ phải thêm tệp văn bản có tên ‘Cartfile’ vào thư mục gốc của ứng dụng và thêm ‘github- FrameworkName’. Sau đó chạy ‘carthage update’ trong Terminal rồi build các thư viện. Sau đó, bạn sẽ tìm thấy một thư mục có tên Carthage trong thư mục gốc của ứng dụng, nơi mà bạn dùng để kéo thả framework mà bạn muốn sử dụng vào "Linked Framework and Libraries" section trong XCode
Để thiết lập CocoaPod , bạn phải chạy ‘sudo gem install cocoapods’ trong Terminal. Đối với Carthage có hai cách: Bạn có thể chạy ‘brew install carthage’ khi cài đặt Homebrew hoặc tải xuống .pkg từ https://github.com/Carthage/Carthage/releases và cài đặt theo cách thủ công.
CocoaPods khá dễ sử dụng, còn Carthage thì linh hoạt hơn. CocoaPods tạo tệp .xcworkspace trong đó có list toàn bọ pods của bạn Điều này làm cho nó dễ sử dụng hơn, Nếu một library bị fail khi build thì toàn bộ project của bạn sẽ không hoạt động. Còn Carthage, bạn phải thêm các frameworks mà bạn thực sự muốn sử dụng vào project của mình theo cách thủ công. Điều này có nghĩa là bạn phải làm một số các task phụ, nhưng nó cũng bổ sung thêm tính linh hoạt hơn rất nhiều. Ngoài ra nếu bạn muốn xóa Carthage, bạn chỉ cần xóa các tệp Cartfile và Cartfile.resolved và thư mục Carthage. Điều này không hề có ở CocoaPods, khi bạn muốn xóa bên CocoaPods bạn phải xóa .xcworkspace, các tệp Podfile và Podfile.lock, thư mục Pods và một loạt các thứ khác bên trong Xcode.
Nhìn chung để đánh giá xem anh CocoaPods hay Carthage tiện ích hơn quả là rất khó khăn, tùy thuộc vào mục đích sử dụng và tính chất dự án của từng lập trình viên. Nếu bạn muốn dùng 1 công cụ dễ thao tác và trong một khoảng thời gian dài thì hãy dùng Cocoapods . Còn nếu bạn muốn có được những thao tác linh hoạt hơn, gần như hoàn toàn được viết bằng Swift thì hãy dùng Carthage. Tuy nhiên một nhược điểm của Carthage là việc comit khá phức tạp và mất khá nhiều thời gian cho việc build frameworks.