Công việc gì đã được thực hiện trong việc phát triển di động đa nền tảng? [đóng cửa]


88

Có bất kỳ cũng như các tài liệu hoặc các dự án mã nguồn mở nhắm mục tiêu iPhone, BlackberryAndroid? Có nền tảng nào khác phù hợp hơn với nỗ lực như vậy không? Lưu ý rằng tôi đặc biệt hỏi về phần mềm phía máy khách, không phải ứng dụng web, mặc dù bất kỳ thông tin nào về những khó khăn khi sử dụng ứng dụng web trên nhiều nền tảng di động cũng rất thú vị.

Câu trả lời:


46

Tiêu chuẩn HTML5 hỗ trợ phát hành các ứng dụng HTML5 độc lập . Về cơ bản, ứng dụng HTML5 là một gói các tệp HTML5 , JavaScriptCSS sẽ chạy độc lập trong trình duyệt của máy tính để bàn hoặc thiết bị. Bạn có thể phân phối chúng giống như bất kỳ chương trình nào khác, bao gồm cả việc bán chúng trên iStore cho iPhone .

Sự hỗ trợ cho vấn đề này hiện tại là chắp vá nhưng có khả năng sẽ cải thiện rất nhiều trong một hoặc hai năm tới.

Google dành cho các ứng dụng HTML5 để biết thông tin và tài nguyên. Một phần giới thiệu hay về HTML5 là cuốn sách trực tuyến "Dive Into HTML5" của Mark Pilgrim . Đây là một công việc đang được tiến hành, nhưng đủ hoàn thiện để trở nên hữu ích.


9
Tôi không nghĩ rằng bạn có thể gửi một cái gọi là Ứng dụng HTML5 đến App Store. Ồ, nó được gọi là App Store, không phải iStore.
Tim Büthe

2
các công cụ để tạo ứng dụng HTML5 được liệt kê tại đây: stackoverflow.com/questions/5063117/…
Gabor


14

Tôi nghĩ rằng cơ hội tốt nhất để thành công trên thiết bị di động đa nền tảng là Web. Chỉ cần viết một ứng dụng Web rất đơn giản cho những gì bạn muốn đạt được. Nó sẽ hoạt động trên Nokia S60browser, Iphone và Android.

Đó là rất nhiều thiết bị di động ...


6
+1. Và để có được sự quyến rũ đó của App Store (và doanh số bán hàng), bạn có thể sử dụng các điều khiển của trình duyệt web để tạo một ứng dụng gốc shell gọi ứng dụng web của bạn, ít nhất là trên Android và iPhone. googlegeodevelopers.blogspot.com/2010/02/…
MarkJ

5
Chà, điều đó phụ thuộc rất nhiều vào những gì ứng dụng của bạn nên làm. Còn việc chụp ảnh bằng ứng dụng của bạn và thực hiện một số nhận dạng hình ảnh thì sao? Bạn không thể làm điều này với ứng dụng web để nhắm mục tiêu tất cả các thiết bị di động.
Tim Büthe

Bạn có thể sử dụng API máy ảnh với các bản đồ dừng tạm thời như Phonegap . Nếu không thì sắp có triển khai dev.w3.org/html5/html-device .
hendry

Ngoài ra, hiển thị chế độ xem web trên điện thoại có thể chậm hơn nhiều so với việc sử dụng các tính năng SDK gốc.
Hari Ganesan,

10

Appcelerator, PhoneGap (được Adobe mua lại, cộng với nó hiện được tiêu chuẩn hóa thành Apache Cordova), Intel XDK (trước đây gọi là appMobi) và Rhodes (được Motorola Solutions mua lại) đều là mã nguồn mở và tạo ra các ứng dụng lai (được đóng gói nguyên bản bằng html ui, với khả năng để thêm một số điều khiển gốc của bạn).

Nếu đó là một trò chơi, lựa chọn chuyên nghiệp duy nhất của bạn cho một công cụ miễn phí có thể được sử dụng để phát triển thương mại là Unity3D. Đối với các trò chơi 2D, cocos2d-x cũng có sẵn. Ngoài ra, Vuforia có thể được sử dụng cho AR và LiquidFun cho vật lý.


9

XMLVM (thông qua Coke và Code ) và EdgeLib hiện có vẻ là những lựa chọn phù hợp nhất. EdgeLib chủ yếu nhắm đến các nhà phát triển trò chơi và theo Coke and Code, rất khó liên hệ với các nhà phát triển XMLVM.


Kể từ năm 2011, không có trang web nào trong số các trang web này có bất kỳ bản cập nhật nào, vì vậy tôi coi đây là một câu trả lời lỗi thời kể từ quý 4 năm 2014.
Gabor

7

IPhone sử dụng Objective C, Blackberry Java SE với chức năng RIM và Android phiên bản Java tùy chỉnh khác. Tôi có thể thấy cách bạn có thể kết hợp hai thứ sau nhưng không có chức năng (không cần bẻ khóa) chạy các ứng dụng Java trên iPhone.

Đặt cược tốt nhất mà tôi đã thấy cho đến nay là một cái gì đó giống như Qt sẽ chạy trên Windows CE, gần như chắc chắn là Symbian, một số nền tảng Java và ba hệ điều hành máy tính để bàn chính.


Giao diện người dùng web sẽ không hứa hẹn hơn khi 2/3 thiết bị ở trên sử dụng webkit để duyệt web? Tôi cũng nghi ngờ về bất kỳ ứng dụng nào cố gắng có một giao diện người dùng duy nhất cho các thiết bị có màn hình cảm ứng không có màn hình cảm ứng (mà hầu hết các loại quả mâm xôi đều có).
Luke

Bạn có thể: Viết một trình biên dịch biên dịch Java sang obj-c hoặc trực tiếp sang native (giống như monotouch làm cho C #) hoặc gửi một java vm với mỗi ứng dụng. Mặc dù vậy, cả hai phương pháp có thể không được phép liên quan đến giấy phép sdk apple gần đây.
nos

3
@nos: họ vừa hoàn nguyên chính sách đó trong phiên bản trước.
Tim Büthe

7

redfivelabs đã triển khai .Net compact framework cho nền tảng S60

Titanium Mobile từ Appcelerator trông rất thú vị. Bạn phát triển ứng dụng của mình bằng HTML & Javascript và tải lên máy chủ của họ, nơi nó được biên dịch thành ứng dụng gốc của nền tảng đích (hiện tại là iPhone và Android)


5

Đối với iPhone hiện không có khái niệm Mã nguồn mở vì Apple iPhone SDK NDA cấm xuất bản mã. Họ cũng cấm đăng mã trên bất kỳ trang web không phải của Apple hoặc thậm chí các diễn đàn thảo luận không phải của Apple về phát triển iPhone. Ngay sau khi NDA hết hạn (có bao giờ không?), Chúng tôi sẽ bắt đầu có các ứng dụng iPhone Nguồn mở.



3

Tôi bắt đầu sử dụng một SDK đa nền tảng thực sự thú vị có tên là EdgeLib. Nó cho phép bạn sử dụng một API đơn giản và bạn có thể biên dịch các dự án của mình sang nhiều nền tảng khác nhau: Windows Mobile Pocket PC, Windows Mobile Smartphone, Symbian Series 60, Series 80, Series 90, Symbian UIQ, Gamepark Holdings GP2X, Gizmondo và Windows desktop . Tôi biết iPhone, Blackberry và Android không nằm trong danh sách đó nhưng các nhà phát triển đã đề cập rằng những nền tảng này đang trong lộ trình của họ.


3
Thực tế rằng gizmondo được nhắm mục tiêu không phải là một mối quan tâm? Nó không bao giờ thành công và giám đốc điều hành của họ đang ngồi tù..vì vậy tại sao đây lại là mục tiêu hấp dẫn đối với EdgeLib nếu không phải là bs bán hàng / tiếp thị / buzzword.
Luke

Luke ... bạn có biết về các chi tiết cụ thể về HW và Phần mềm của Gizmondo không? Nó đã đi trước thời đại.
tu sĩ 29/09/09



2

Những chiếc BlackBerry không thực sự có Java SE, họ có Java ME, với rất nhiều thư viện bổ sung do RIM cung cấp. Tương tự đối với Android. Các ứng dụng đa nền tảng duy nhất bạn từng thấy trên thiết bị di động có thể được viết bằng Java ME nghiêm ngặt, chạy trên hầu hết các thiết bị. Tuy nhiên, cũng giống như JavaScript giữa các trình duyệt khác nhau, Java ME có những điểm khác biệt trên các thiết bị khác nhau, vì vậy có thể cần phải thay đổi mã nguồn.


2

Tôi đã tìm thấy một công cụ trò chơi cho các trò chơi MoMinis dat có sẵn để phân phối và được hỗ trợ trên các thiết bị Android, Blackberry, Symbian và J2me. Trò chơi MoMinis bao gồm một loạt các trò chơi thông thường - bao gồm trò chơi arcade, giải đố, quản lý thời gian, chiến lược và trò chơi di động rèn luyện trí não.

mominis


1

Phonsai là sản phẩm mới trên thị trường dành cho tính năng di động đa nền tảng "không cần mã hóa" Nó là sự kết hợp giữa phát triển di động tự làm và quản lý nội dung. Bạn có thể tùy chỉnh tất cả các ứng dụng. Không có mẫu. Đó là SaaS. Hoàn toàn dựa trên web với khởi động web java. Làm việc với 2000 kiểu điện thoại di động. GUI rất đơn giản và không cần mã hóa. Chỉ cần sao chép và dán. Nó có các mô-đun tạo, gửi và báo cáo. Và cuối cùng, nó có 4 trình giả lập bên trong để nó là một khái niệm WYSIWYG. Bạn có thể liên hệ với Phonsai tại http://phonsai.com


1

Chúng tôi có một nền tảng phát triển di động đa nền tảng được gọi là RAMP. Nó bao gồm cả tính năng và điện thoại thông minh từ tầm trung 1 đến Android. Nền tảng này chủ yếu nhắm đến các ứng dụng thương mại an toàn nhưng nó có thể cắm được nên bạn có thể làm hầu hết mọi thứ với nó.

Để biết thêm thông tin và quyền truy cập vào nền tảng, hãy xem:

công nghệ di động ảo


1

S60 trên Hệ điều hành Symbian có rất nhiều dự án thú vị đang diễn ra liên quan đến ngôn ngữ máy tính để bàn / máy chủ để di chuyển các ứng dụng di động. Một số điều thú vị: -

Python: sourceforge
Ruby: ruby-symbian
Mozilla: mozilla
S60Webkit: S60browser
POSIX: openc_cpp

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.