2009-08-26 39 views
5

Tôi khá mới đối với Cocoa. Tôi đã nói chuyện với anh trai của tôi, những người đặt cùng một vài ứng dụng iPhone và tôi đã nói điều gì đó về Trình tạo giao diện. Anh ấy nói rằng anh ấy không sử dụng nó - anh ấy xây dựng giao diện người dùng của anh ấy theo lập trình. Anh ta nói theo cách này, anh ta không phải lo lắng về việc tải NIB. Tôi hiểu rằng việc sử dụng Interface Builder thực sự tạo ra các thể hiện của các đối tượng view/window/button/etc được serialized và phải được deserialized khi bạn tải ứng dụng, nhưng là deserialization đắt tiền? Cấp, anh ấy nói về iPhone và tôi đang phát triển trên MacBook Pro, nhưng vẫn vậy.Không sử dụng Trình tạo giao diện có mua cho tôi bất kỳ thứ gì không?

+2

Anh trai của bạn đang lãng phí thời gian của mình. Sử dụng IB cho đến khi nó không làm những gì bạn cần. – bbum

Trả lời

9

Tôi chưa thấy tranh luận nào về việc sử dụng IB vì lý do hiệu suất và đã sử dụng cả hai phương pháp mà tôi không thấy bất kỳ sự khác biệt nào. Đối với các ứng dụng dữ dội hơn, tôi thường không chỉ sử dụng IB vì khó xây dựng các khung nhìn tùy chỉnh phức tạp với nó. Vì vậy, thực sự tôi có xu hướng sử dụng IB cho các ứng dụng đơn giản hơn và đi với các phương pháp tiếp cận progammatic cho các ứng dụng phức tạp hơn. Cách tiếp cận này rõ ràng là hiệu suất tối ưu hóa là tốt.

+6

Ngay cả đối với các ứng dụng phức tạp, tôi sẽ sử dụng IB để bố trí các bit con của giao diện người dùng trong các khung nhìn đơn giản chứa và sau đó cắm chúng lại với nhau trong giao diện người dùng lớn hơn theo lập trình. – bbum

2

Nếu cả hai phương pháp đều hữu ích, tôi khuyên bạn nên đi theo cách của Apple; tức là sử dụng Trình tạo giao diện (IB). Bạn sẽ nhận được ít mã hơn để viết (và ít mã hơn ít lỗi hơn, ít bảo trì hơn, ít công việc hơn);), một dự án trừu tượng tốt hơn, bạn sẽ sẵn sàng hơn nhiều để kế thừa các goodies tương lai đến từ Apple (nhớ Cocoa Bindings…), và chẳng mấy chốc bạn cũng sẽ hiệu quả hơn.

Hiểu những gì IB đang làm cho bạn (bằng cách thực hiện phương pháp anh trai của bạn) là rất kiến ​​thức có giá trị; vì vậy nếu bạn có thể làm cả hai trên một số dự án li'l, hãy làm điều đó. (Như những người khác đã nói, đối với UI phức tạp, điều này sẽ cho phép bạn bỏ qua nó ở lần.) Nhưng vẫn còn, cuối cùng, tôi khuyên bạn nên sử dụng IB.

+0

Ồ, và chỉ cần lưu ý/chỉnh sửa nhanh: chúng tôi không nói về việc tuần tự hóa ở đây, mà là về lưu trữ; như IB cũng sẽ lưu trong NIB của bạn các ID và mối quan hệ của các đối tượng của bạn. –

6

Hoàn toàn học IB! Đó là giá trị nó và sẽ giúp bạn tiết kiệm vô số thời gian trên đường dài. Sau đó sử dụng nó khi bạn có thể. Khi bạn không thể (độ phức tạp cao), bạn luôn có cách tiếp cận có lập trình nhưng bạn sẽ thấy nó dễ dàng hơn để duy trì ngòi (IB) khi ứng dụng của bạn phát triển và già đi.

2

Mặc dù Interface Builder là một phần mềm cũ, với nguồn gốc của nó trong phát triển NeXTSTEP, nó vẫn là (IMO) một cách tao nhã để tạo ra các khía cạnh trực quan của phần mềm.
Trong số này interview with Aaron Hillegass, ông nói rằng "những người lập trình Cocoa có kinh nghiệm đã đặt rất nhiều thông minh về ứng dụng của họ vào tệp NIB. Kết quả là dự án của họ có ít mã hơn."
Và như chúng ta đều biết: "Less source code is better"

0

Nó phụ thuộc rất nhiều vào loại ứng dụng. Hệ thống ERP với vài trăm nghìn trang không được xây dựng với Interface Builder, theo như tôi biết.

Các vấn đề liên quan