Tôi có nên học java để phát triển ứng dụng di động hay C # sẽ làm gì?


9

Tôi mong muốn đi sâu vào .NET framework nhưng hầu hết các ứng dụng di động dường như được phát triển bằng Java. Rất có thể tôi sẽ nhắm mục tiêu các điện thoại ít đắt tiền hơn như Nokia và motorolla không phải hệ điều hành Android hoặc iphone. Tôi có thể làm những thứ này trong C # không?

java  c#  mobile 

Câu trả lời:


9

Không, C # sẽ không làm. Bạn cần học Java, và không phải J2SE mà là J2ME vì hầu hết các điện thoại di động cấp thấp chỉ hỗ trợ J2ME. Tuy nhiên, bạn có thể muốn xem xét lại Android vì nó thực sự trở nên phổ biến ngay cả với điện thoại cấp thấp. Dù sao, ngôn ngữ cho J2ME và Android là cả Java.


7

Phụ thuộc vào nền tảng-

Android - JAVA, C # (thông qua MonoDroid)
IPhone - Objective C, C # (thông qua MonoTouch)
Windows Phone - C # (Silverlight)
Meego - C ++ (QT)
Symbian - C ++, JAVA

Tôi nghĩ rằng Symbian sẽ bị loại bỏ bởi hầu hết các công ty. Điện thoại thông minh là tương lai. Và đối với mọi loại os điện thoại thông minh, C # / mono sẽ có sẵn (bạn phải trả thêm tiền, nhưng khả năng sử dụng đáng giá) cùng với ngôn ngữ nền tảng bản địa. Vì vậy, bạn có thể đi cho C #.

Sự độc lập nền tảng thực sự có thể không đạt được, nhưng nếu bạn sử dụng C # ở mọi nơi, bạn sẽ có thể sử dụng cùng các thư viện lõi và điều chỉnh giao diện người dùng cho nền tảng.

Nhưng đối với điện thoại giá rẻ, C # sẽ không làm được. Bạn phải đi cho JAVA.


1
+1 để đề cập đến các tùy chọn Mono *. Nếu nhu cầu đủ cao từ các nhà phát triển thì họ cũng sẽ phân nhánh sang các nền tảng điện thoại khác.
Đặc vụ_9191

Đồng ý các nhà phát triển Mono đã đề cập đến hỗ trợ WebOS trước khi chia Novell, vì vậy bạn không bao giờ biết!
wonea

1

Không thể nói cụ thể về Motorolla hay Nokia nhưng bạn cần lưu ý nền tảng hỗ trợ của điện thoại này là gì. Bạn sẽ tốt hơn khi phát triển Java vì nó là một nền tảng phổ biến hơn và không chỉ phụ thuộc vào điện thoại di động Windows. Một điều nữa C # rất gần với Java đến nỗi trình biên dịch chéo thực hiện thủ thuật cho các ứng dụng Máy tính để bàn cũng có thể áp dụng cho các ứng dụng di động.


1
Tôi muốn xem Trình biên dịch chéo này - làm thế nào để nó xử lý thực tế là các thư viện đi với các ngôn ngữ rất khác nhau?
Bevan

1

Nếu bạn muốn phát triển cho Windows Phone 7, C # là hoàn hảo (VB.NET sẽ sớm ra mắt.) Bạn cũng có thể tận dụng mọi kiến ​​thức về Silverlight hoặc XNA mà bạn có. Tôi không biết liệu nền tảng sẽ thành công hay không, nhưng tại sao không tinh chỉnh ứng dụng của bạn bằng ngôn ngữ bạn biết, sau đó chuyển nó sang các ngôn ngữ khác một khi bạn tự tin vào trải nghiệm người dùng, logic, tính toán của mình, v.v.? Trình giả lập rõ ràng là rất tốt, và có thể được bổ sung với trình giả lập gia tốc kế và trình giả lập gps để làm mọi thứ trừ khi gọi điện thoại. (Và thực sự, ai sử dụng điện thoại thông minh để thực hiện cuộc gọi?)


Tôi thường đồng ý, nhưng OP nói rằng anh ta "mong muốn đào sâu vào .NET framework" vì vậy tôi không chắc anh ta đã quen thuộc với C # như thế nào. Cũng như tôi thích ngôn ngữ này, thị trường cho Windows Phone có vẻ hơi mờ nhạt.
Davy8

1

Tôi bắt đầu viết các ứng dụng Android bằng Java có kinh nghiệm trước đó về C #. Tôi thấy rằng nhiều khái niệm cơ bản của ngôn ngữ là tương tự nhau, vì vậy nó đơn giản chỉ là vấn đề tìm hiểu một vài điểm khác biệt, đặc biệt là với các thư viện. Nếu bạn có thể học, mã hóa trong cái khác sẽ rất đơn giản (dựa trên kinh nghiệm của tôi).

Tôi khuyên bạn nên bắt đầu với Java. Android đang trên đường trở thành hệ điều hành di động phổ biến nhất, vì vậy bạn biết rằng nó chắc chắn sẽ xuất hiện trong một thời gian. Ngoài ra, Java cũ hơn, vì vậy có vô số thư viện và hướng dẫn có sẵn để bạn sử dụng và học hỏi. Khi bạn hiểu các khái niệm cốt lõi của Java, việc học C # sẽ rất dễ dàng - và bạn sẽ thực sự đánh giá cao một số tính năng gọn gàng (như các thuộc tính và LINQ) mà C # phải cung cấp.

Tuyên bố miễn trừ trách nhiệm: Tôi bắt đầu với C # (chủ yếu để phát triển web ASP.NET MVC) và sau đó học Java để viết ứng dụng Android. Tôi chưa thực hiện bất kỳ chương trình di động nào với C #, vì vậy tôi không thể nói cho bạn biết nó như thế nào.


0

Có thể gửi tệp này dưới "tư duy bên", nhưng nếu bạn có kỹ năng tốt về công nghệ web "thuần túy" - HTML, JavaScript, CSS - và tùy thuộc vào những gì bạn đang cố gắng đạt được, hãy xem thứ gì đó như PhoneGap (http: // www .phoneg.com / về). Ngoài việc hỗ trợ các thiết bị iOS (iPhone, iPad) và Android, họ cũng có một số hỗ trợ cho Symbian. Tuy nhiên, bạn thường sẽ cần các công cụ "bản địa" để xây dựng các ứng dụng nhị phân gốc của mình. Ví dụ: nếu bạn muốn làm iPhone dev, bạn sẽ cần iPhone sdk, XCode và đang chạy OSX.

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.