2016-03-25 18 views
5

Tôi đã đọc một bài viết về Xamarin đã mua RoboVM và cho phép các nhà phát triển viết các ứng dụng di động trong Java cho nền tảng chéo. Tôi không chắc liệu có thể sử dụng Java để phát triển các ứng dụng di động đa nền tảng hay không. Có công cụ đáng tin cậy nào tôi có thể viết bằng Java để phát triển ứng dụng di động đa nền tảng không? Đây có phải là lựa chọn tốt để chọn Java chỉ cho các ứng dụng di động đa nền tảng tiềm năng không? Tôi không xem xét việc sử dụng C, C++, C# cho mục đích đó vì tôi chưa bao giờ tập trung vào một trong số chúng. Tôi xin lỗi vì những người hâm mộ của những người lang thang. Hay đó là một lựa chọn tốt hơn để tôi làm việc tốt hơn với Java cho các ứng dụng Android và ứng dụng Swift for iOS? Tôi dự định chọn Java làm ngôn ngữ chính cho tất cả các ứng dụng web, ứng dụng di động đa nền tảng và phát triển lập trình robot.Tôi có thể sử dụng Java để xây dựng các ứng dụng di động đa nền tảng không?

+1

Project Codename One là ngôn ngữ dựa trên Java có thể được biên dịch thành mã nền tảng gốc để chạy trên iPhone, Android và Blackberry; bạn cần phải xác minh Windows nhưng có thể có nếu không có ý định. Hãy nhớ rằng, bạn sẽ luôn luôn đứng sau các bản phát hành mới nhất của các hệ điều hành khác nhau và không phải tất cả các nền tảng đều hỗ trợ chức năng tương tự (hoặc thực hiện theo cách tương tự) có thể trình bày các vấn đề – MadProgrammer

+1

Tôi nghe nói rằng Xamarin đã được Microsoft mua. nó sẽ không hỗ trợ Java – MadProgrammer

Trả lời

0

Theo tôi biết chúng không tương thích với Java, nhưng chúng cho rằng nếu bạn biết Java bạn sẽ ổn với C#.

tôi thấy vài thú lạ sự kiện trên trang web của họ về việc chuyển ... source

  • Trong Java, bạn có thể vượt qua các thông số chỉ bởi giá trị, trong khi trong C# bạn có thể vượt qua bằng cách tham chiếu cũng như theo giá trị. (C# cung cấp các từ khóa ref và out để truyền tham số theo tham chiếu; không có tương đương với các tham số này trong Java).
  • Trong câu lệnh chuyển đổi Java, mã có thể rơi vào phần chuyển đổi tiếp theo, nhưng trong C#, phần cuối của mỗi phần chuyển đổi phải chấm dứt công tắc (phần cuối của mỗi phần phải đóng bằng câu lệnh ngắt).
  • ....
+0

bạn nhận ra rằng, trong java trong khi kỹ thuật bạn luôn chuyển giá trị, nhưng vì bạn chuyển tham chiếu của đối tượng theo giá trị, nó giống như ngữ nghĩa tham khảo hơn ngữ nghĩa giá trị gọi là chia sẻ – user3063349

+0

chỉ ra sự sai lầm của họ, xin lỗi vì sự nhầm lẫn. –

+0

OK, có gì sai với tóm tắt các câu lệnh chuyển đổi? Có vẻ ok cho tôi. – user3063349

0

Tùy thuộc vào những gì bạn đang cố gắng để viết, libgdx có thể là một giải pháp tốt.

Bạn viết mã của bạn một lần trong java và biên dịch về cơ bản tất cả mọi thứ (ngay cả html5!)

Bạn phải tuân thủ công ước mã hóa của nó và sử dụng nó là lớp mặc dù. (Thật tuyệt vời để phát triển trò chơi, không quá nhiều cho những thứ khác ... nhưng bạn vẫn có thể làm bất cứ điều gì bạn muốn với nó).

6

Tôi đã sử dụng Codename One trong một thời gian ngắn. Libgdx không chính xác là một tùy chọn vì tôi không phải là nhà phát triển trò chơi.

Tôi đã chơi một chút với RoboVM trước khi chọn Codename One và có vẻ như đó là nhiều hơn về Java cho iOS chứ không phải về WORA (Write Once Run Anywhere). Điều này có thể là một lựa chọn tốt cho bạn nếu đó là những gì bạn muốn nhưng tôi thích WORA. Tôi đã thử các ràng buộc của RoboVM FX và chúng bị hỏng một cách khủng khiếp theo những cách cơ bản.

Một vài điều tôi yêu về Codename Một là:

  1. Hỗ trợ - Tôi chưa bao giờ sử dụng một sản phẩm với sự hỗ trợ như miễn phí đáng kinh ngạc. Bạn nhận được câu trả lời trong vòng một ngày và điều đó thực sự đã làm kín thỏa thuận cho tôi.

  2. Không cần máy Mac - Tôi sử dụng máy Mac ở nhà nhưng trong văn phòng tôi cần PC.

  3. Tùy biến và quen thuộc - đây là khá nhiều Swing nhưng WAY tốt hơn. Giống như chúng tôi luôn muốn Swing được như họ đặt nó ...

Các tài liệu được sử dụng để hút nhưng họ đã đẩy mạnh nó và nó cho thấy.Bây giờ nếu chỉ có họ có thể sửa các plugin IntelliJ/IDEA đến mức của plugin NetBeans tôi muốn được vàng!

+0

Codename One cũng tuyệt vời! Tôi đoán nó thực sự chỉ phụ thuộc vào những gì bạn đang cố gắng để thực hiện :) – dustinroepsch

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