2009-12-04 31 views
5

Tôi đang đến từ một tổ chức phát triển java doanh nghiệp, nơi chúng tôi đã phát triển trong các lớp có thể tái sử dụng độc đáo. Các lớp liên tục, các lớp Dịch vụ, v.v.Kiến trúc một ứng dụng iPhone phức tạp?

Bây giờ, tôi đang tìm các ứng dụng ví dụ iPhone hoặc tài liệu về cách kiến ​​trúc các dự án iPhone phức tạp. Hầu hết các sách & ví dụ về táo cho bạn thấy mã rất hạn chế về cấu trúc &. Chúng không thể sử dụng được.

Những gì tôi cũng đang tìm kiếm là thông tin về cách thiết lập hệ thống tích hợp liên tục chạy tất cả các kiểm tra đơn vị của tôi về mã kiểm tra & báo cáo kết quả kiểm tra đơn vị cho một hệ thống mà chúng tôi có thể xem kết quả. Đối với các dự án java của chúng tôi, chúng tôi sử dụng svn, mvn & sonar cho việc này. Quả táo tương đương với thiết lập này là gì? Thậm chí có thể không?

Vì vậy, để tóm tắt các câu hỏi của tôi:
Q1: Có bất kỳ ví dụ hoặc sách về kiến ​​trúc dự án iPhone phức tạp không?
Q2: Làm cách nào để thiết lập hệ thống tích hợp liên tục?

Trả lời

6

Làm thế nào phức tạp của một ví dụ bạn muốn?This question liên kết tới một số ứng dụng iPhone nguồn mở không phải của Apple, bao gồm my own. Một số ứng dụng ra có tương đối phức tạp.

Theo như thiết kế, tôi rất muốn giới thiệu sách Cocoa Design Patterns. Trong khi không nghiêm chỉnh cho iPhone (cho khởi đầu của Cocoa tại NeXT và sự hiện diện gần đây hơn trên Mac), các mẫu thiết kế bao gồm là cốt lõi cho kiến ​​trúc của các khuôn khổ Cocoa và các ứng dụng Cocoa.

Tôi cũng khuyên bạn nên thanh toán cho số WWDC 2009 videos và xem phiên "Thiết kế giao diện người dùng iPhone", "Kiến trúc ứng dụng iPhone hiệu quả" và "Tạo mẫu giao diện người dùng iPhone". Có rất nhiều gợi ý tốt để kiến ​​trúc các ứng dụng iPhone trong các phiên này.

Tôi đã sử dụng các bài kiểm tra đơn vị với các ứng dụng của mình, nhưng tôi chưa thực hiện bất kỳ hình thức xây dựng tích hợp liên tục nào. Tuy nhiên, this question dường như có rất nhiều thông tin tốt về việc tích hợp liên tục với Xcode.

5

Di sản của iPhone ngày trở lại OpenStep bởi Máy tính NeXT. Trong một thời gian, trọng tâm chính của NeXT là các ứng dụng doanh nghiệp, tùy chỉnh. Các công nghệ đang được phát trên iPhone được chứng minh tốt trong môi trường doanh nghiệp. NeXT là một trong những người ủng hộ ban đầu của công nghệ đối tượng, các mẫu và MVC nói riêng.

Điều đó nói rằng, một số thứ đã từng có sẵn trong Openstep hiện đã biến mất. NeXT có hệ thống ORM nâng cao (Enterprise Objects Framework - http://en.wikipedia.org/wiki/Enterprise_Objects_Framework), mặc dù vẫn được sử dụng trong nội bộ Apple và quyền hạn iTunes/etc, hiện không được chấp nhận cho các khách hàng sử dụng Objective-C (phiên bản Java vẫn tồn tại). Một ORM lite, Core Data (http://developer.apple.com/macosx/coredata.html), đã thay thế và hiện đã có trên iPhone. SQLite (tuyệt vời) cũng được đóng gói trên iPhone và có sẵn cho các nhà phát triển.

Một loại ruồi khác trong thuốc mỡ là phiên bản hiện tại của XCode cho iPhone có sự hạn chế về các tiểu dự án/khung công tác, vì vậy khó phân vùng mã có thể tái sử dụng hơn trước đây. Tim Wood, thuộc Omni, cung cấp một số chi tiết về cách quản lý khung bên trong XCode trên iPhone (http://blog.omnigroup.com/2008/10/01/using-frameworks-in-iphone-applications/) Thật không may, quá trình này không dễ dàng như nó phải như vậy.

Tôi không chắc chắn những cuốn sách nào có sẵn, nhưng hầu hết các nhà phát triển Openstep cũ đều sẽ có chuyên môn phát triển doanh nghiệp. Bạn có thể xem xét kéo một vào dự án của bạn để giúp mọi thứ cùng.

svn và mvn có sẵn/gói trên OS X. Ngoài ra còn có các tùy chọn để kéo trong, gói mã nguồn mở khác thông qua hệ thống như Fink hoặc MacPorts:

Ngoài ra còn có một số tùy chọn khung hỗ trợ TDD. Test Driven Design for iPhone Native apps

Nó không giống như sonar groks Objective-C tại thời điểm này. Tùy thuộc vào lựa chọn của bạn, có lẽ bạn có thể phát triển một mô-đun cho điều này?

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