MonoTouch vs Objective-C để phát triển iPhone / iPod / iPad [đã đóng]


25

Đối với ai đó có kinh nghiệm .Net và muốn phát triển cho iPhone / iPod / iPad, có đáng để học Objective-C không? MonoTouch là một lựa chọn tốt? Một số sự đánh đổi khi sử dụng MonoTouch so với mã hóa trong Objective-C là gì?


1
Có vẻ như Apple đang làm điều này dễ dàng hơn: apple.com/pr/l
Library / 2010/09 / 09statement.html

2
Giữ cho đến khi WP7 phát hành và phát triển ở đó thay vào đó. ;)
Adam Lear

@Jeff O, đó là lý do tại sao tôi quan tâm đến trải nghiệm của mọi người khi phát triển với MonoTouch. Tôi đã mã hóa trong Objective-C, nhưng thích C #.
ysolik

Nếu bạn có thể bỏ phiếu và nghĩ rằng đây là một câu hỏi hữu ích hoặc nó có câu trả lời hữu ích dưới đây, vui lòng bỏ phiếu. Các trang web StackExchange cần phiếu bầu để xây dựng một cộng đồng tốt. Bạn có thể cho 30 phiếu mỗi ngày, đừng lãng phí chúng. Người dùng đặc biệt có uy tín cao và số phiếu bầu thấp được đưa ra xin vui lòng đọc này: meta.programmers.stackexchange.com/questions/393/ mẹo
Maniero

Tôi cũng quan tâm đến việc kiểm tra MonoTouch. Thật không may, tôi không có thời gian để làm chủ mục tiêu-c và tôi có một cửa hàng đầy đủ các chuyên gia .NET ở đây. Tôi muốn có thể tận dụng kiến ​​thức của họ!
Nodey The Node Guy

Câu trả lời:


17

MonoTouch là một thay thế tuyệt vời. Tôi đã sử dụng nó gần một năm nay và tôi không bao giờ có thể tưởng tượng được việc quay trở lại mục tiêu-c. Điểm nổi bật: LINQ, LINQ to XML, LINQ, C #, LINQ, Trình thu gom rác, LINQ, MonoTouch.Dialog, và nhiều thứ khác.

Nghiêm túc, mặc dù .. hiện nay hầu hết các ứng dụng luôn tải dữ liệu từ web và bạn sẽ cần phải chuyển đổi nó thành các đối tượng, giữ chúng trong danh sách, sắp xếp và lọc chúng và đẩy chúng vào cơ sở dữ liệu. Những thứ đó rất đơn giản để thực hiện với C # và LINQ đến nỗi tôi không thể tưởng tượng được mọi người làm điều đó bằng các ngôn ngữ khác.

Chi phí 400 đô la không phải là thấp, nhưng bạn có thể kiếm lại số tiền đó sau 1 tháng hoặc không có quảng cáo. Và lượng thời gian MT sẽ tiết kiệm cho bạn sẽ bù lại một cách dễ dàng. Cũng cần nhớ rằng, bạn không phải trả tiền cho đến khi ứng dụng sẵn sàng để thử nghiệm trên thiết bị, vì vậy nó miễn phí cho việc học.

Như đã nói, đúng vậy, nó vẫn hoàn toàn xứng đáng để học Objective-C. Nó sẽ làm cho bạn trở thành một nhà phát triển tốt hơn cho nền tảng, bạn sẽ hiểu tại sao một số thứ lại như vậy, v.v. Bạn cũng có thể đọc các ví dụ Obj-C trên web và dịch chúng sang C #.

Cuối cùng, đây là gợi ý của tôi: nếu bạn đang nghĩ đến việc phát triển iOS, hãy truy cập MonoTouch. Dành một vài tuần để sử dụng nó, và sau đó đưa ra quyết định nhảy sang Obj-C. Phần khó nhất khi phát triển iOS không phải là ngôn ngữ Obj-C, là tất cả các khung mới mà bạn sẽ phải học. Có thể học chúng trong C # là một thỏa thuận HẤP DẪN, bạn sẽ làm việc hiệu quả hơn rất nhiều ngay từ khi bắt đầu. Ngay sau khi bạn biết những điều đó nhìn vào Obj-C: mọi thứ sẽ quen thuộc, vì vậy mọi thứ sẽ dễ hiểu.


13

Tôi là một nhà phát triển C, C ++, Delphi & .NET dày dạn kinh nghiệm và gần đây tôi cần phải giải quyết một dự án phát triển ứng dụng iOS với một back-end .NET. Ban đầu tôi rất hào hứng với MonoTouch và trèo vào đó chỉ để thấy rằng đường cong học tập không thực sự là ngôn ngữ mà là các mẫu thiết kế.

Tôi cũng lưu ý rằng sự hỗ trợ của cộng đồng dành cho MonoTouch ít hơn nhiều so với Xcode và Objective-C.

Lời khuyên của tôi, hãy dành thời gian và tìm hiểu Mục tiêu-C. Đọc hướng dẫn dành cho nhà phát triển của Apple và tìm hiểu cách thực hiện đúng.


Tôi thích lời nhắc rằng MonoTouch sẽ liên quan đến ít nhất một số việc học ngay cả khi bạn là một nhà phát triển .NET dày dạn. Tôi cũng đang xem một ứng dụng iOS kết nối với SQL Server / .net back end. Bạn có thể chỉ cho tôi bất cứ điều gì làm việc cho bạn?
Jason S

3

Nếu bạn chỉ muốn nhanh chóng lấy thứ gì đó ra khỏi cửa, tôi tin rằng monotouch sẽ là con đường để đi.

The Bad: Hãy nhớ rằng MonoTouch là $ 399 cho một nhà phát triển. Điều đó có nghĩa là nếu ứng dụng của bạn có giá 0,99 đô la, thì về cơ bản bạn cần bán hơn 400 ứng dụng để thậm chí kiếm tiền. Điều đó không tính đến việc bạn sẽ không nhận được 0,99 đô la đầy đủ cho mỗi lần mua ứng dụng. Một điều đáng suy nghĩ nữa là nếu bạn muốn các nhà phát triển khác tham gia dự án của mình, đại đa số các nhà phát triển iPhone vẫn sử dụng Objective-C, do đó có thể sẽ khó tìm được đối tác hơn.

The Good: Thời gian phát triển sẽ nhanh hơn rất nhiều. Sớm ra thị trường thường là một lợi thế lớn.

Trung lập: Bạn vẫn phải tìm hiểu các thư viện iPhone, vòng đời ứng dụng và tất cả các sắc thái nhỏ khác của iPhone. Vì vậy, mặc dù bạn không phải học Objective-C, bạn vẫn phải học khung. Vì vậy, dù sao đi nữa, ứng dụng của bạn có thể tuyệt vời như nhau vì nó vẫn là khung iOS vào cuối ngày.


Bạn sẽ học được điều gì đó mới trừ khi cách tiếp cận của bạn là tạo một ứng dụng Windows chạy trên ipad.
JeffO

1

Tôi đang bắt đầu phát triển một ứng dụng bằng MonoTouch và tôi thấy đó là một trải nghiệm tốt. Với xu hướng làm việc hiệu quả hơn là học công nghệ mới, MonoTouch gãi ngứa. Cảm giác chung là Novell đã làm rất tốt việc cung cấp chức năng iOS cho các nhà phát triển .NET và giờ đây với sự nới lỏng cấp phép gần đây của Apple (giờ đây họ cho phép các ứng dụng iPhone / iPad được phát triển bởi các công cụ của bên thứ 3) MonoTouch sẽ chỉ đạt được thành công . Nếu bạn xem thẻ twitter #monotouch, bạn thậm chí sẽ thấy một số nhà phát triển / nhà cung cấp chuyển các ứng dụng Obj-C của họ sang .Net vì việc duy trì / phát triển trong thời gian dài sẽ dễ dàng / nhanh chóng hơn. Ồ, và tất cả các hướng dẫn của Apple vẫn áp dụng ngay cả khi bạn đang làm việc trong .NET - thực tế tôi thấy chúng khá hữu ích.

Với MonoDroid cũng vậy, rất có thể bạn sẽ có thể sử dụng lại các thư viện cốt lõi của ứng dụng của riêng bạn trên ứng dụng iPhone VÀ Android - điều đó tuyệt đến mức nào ??

Đây là một cuộc phỏng vấn khá thú vị với Wallace Mclure, ghi lại một chút những gì tôi đang nói:

http://adtmag.com/articles/2010/09/29/monotouch-qa-with-wallace-mcclure.aspx

Tôi muốn nói đi cho nó!


0

Có một bài viết về một kinh nghiệm của các nhà phát triển .NET trong việc chuyển bộ kỹ năng của anh ấy sang iOS.

Bài đăng trên blog này mô tả kinh nghiệm của tôi về việc học cách viết phần mềm iOS, sau khi đã dành nhiều năm độc quyền trong thế giới phát triển .NET. Nó cung cấp các cảnh báo, đề xuất và lời khuyên cho những người khác quan tâm đến việc học phát triển iOS. Bài đăng kết thúc với sự so sánh định tính về lập trình trong WPF và iOS.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.