83

Những ngôn ngữ lập trình nào người ta có thể sử dụng để phát triển các ứng dụng iPhone, iPod Touch và iPad (iOS)?

Ngoài ra, có kế hoạch nào trong tương lai để mở rộng số lượng ngôn ngữ lập trình mà iOS sẽ hỗ trợ không?

|
43

Apple đã gỡ bỏ các hạn chế đối với các ứng dụng C / C / C ++ không khách quan - bạn không thể tải mã không có trong gói ứng dụng.

MonoTouch cho phép bạn sử dụng các ngôn ngữ .NET - C # được hỗ trợ trực tiếp, nhưng nếu bạn có Windows, bạn có thể tạo các cụm bằng bất kỳ ngôn ngữ .NET nào và sử dụng nó.

Có tin đồn rằng Apple sẽ hỗ trợ trực tiếp các ngôn ngữ khác - tôi cứ nghe ruby, nhưng chúng chỉ là tin đồn.

Tôi nghĩ rằng Lua đang được sử dụng cho logic trò chơi trên rất nhiều ứng dụng.

EDIT (năm 2018): Nói chung, bạn có thể sử dụng bất kỳ ngôn ngữ nào bạn có thể biên dịch cho iOS hoặc thậm chí cài đặt trình thông dịch ngôn ngữ. Điều chính bạn không thể làm là tải mã từ Internet không có trong gói ứng dụng.

Mọi người luôn làm điều này mọi lúc (xem ứng dụng React Native tải JavaScript từ máy chủ), nhưng về mặt kỹ thuật, điều đó không được phép. Điều chính sẽ thu hút sự chú ý từ Apple nếu bạn tạo một số loại App Store tải toàn bộ những thứ giống như ứng dụng.

|
  • 1

    Mục tiêu C ++ thì sao?

    – Ngô An Hạ 13:31:02 18/10/2010
  • 1

    Objective-C ++ là cầu nối giữa ObjC và C ++, vì vậy nó ổn.

    – Hoàng Ðông Nguyên 13:46:30 18/10/2010
  • 1

    RubyMotion cho phép bạn xây dựng các ứng dụng iOS gốc bằng Ruby. Nó không miễn phí mặc dù.

    – Huỳnh Phú Hùng 09:42:31 27/08/2013
  • 1

    Tôi đã thử Lua cho logic trong ứng dụng của mình, với luasqlite (giải pháp doanh nghiệp, vì vậy không có sự từ chối nào của cửa hàng, dù chúng có thể xảy ra hay không) và tôi có thể làm chứng rằng nó hoạt động tuyệt vời. Hãy nhớ rằng Lua có dung lượng bộ nhớ rất thấp, vì vậy bạn thực sự có thể chạy hàng tá thông dịch viên cùng một lúc mà không tốn nhiều Mb bộ nhớ (đó là những gì tôi thực sự đã làm ...). Xem thêm gran.pancho.villa trả lời về Swift.

    – Thanh Giau 13:50:45 19/06/2014
17

Thỏa thuận SDK và hướng dẫn cửa hàng ứng dụng đã được thay đổi (khoảng tháng 9 năm 2010).

Bây giờ bạn có thể sử dụng bất kỳ ngôn ngữ được biên dịch nào sẽ biên dịch sang cùng định dạng tệp đối tượng ARM tĩnh như Xcode tạo ra và sẽ liên kết đến (chỉ) các API công khai trong các khung và thư viện của Apple. Tuy nhiên, bạn không thể sử dụng ngôn ngữ được biên dịch JIT trừ khi bạn biên dịch trước tất cả mã đối tượng trước khi gửi cho Apple để xem xét.

Bạn có thể sử dụng bất kỳ ngôn ngữ thông dịch nào, miễn là bạn nhúng trình thông dịch và không cho phép trình thông dịch hoặc ứng dụng tải xuống và chạy bất kỳ mã có thể hiểu nào khác ngoài mã được tích hợp trong gói ứng dụng trước khi gửi cho Apple để xem xét hoặc nhập mã nguồn -in bởi người dùng.

Mục tiêu C và C có thể vẫn sẽ là ngôn ngữ lập trình tối ưu nhất cho mọi thứ đòi hỏi hiệu năng cao và hỗ trợ API mới nhất (* xem bản cập nhật bên dưới), vì đó là những ngôn ngữ mà Apple nhắm vào khung iOS và điều chỉnh chipset bộ xử lý ARM của nó. Apple cũng hỗ trợ sử dụng Javascript / HTML5 bên trong UIWebView. Đó là những ngôn ngữ duy nhất mà Apple đã công bố hỗ trợ. Bất cứ điều gì khác, bạn sẽ phải tìm hỗ trợ ở nơi khác.

Nhưng, nếu bạn thực sự muốn, có ít nhất một nửa tá trình thông dịch BASIC hiện có sẵn trong cửa hàng Ứng dụng iOS, do đó, ngay cả phương pháp lập trình "Thời kỳ đồ đá" cũng được cho phép.

Đã thêm: (*) Vào cuối năm 2014, người ta cũng có thể phát triển ứng dụng bằng ngôn ngữ lập trình Swift mới của Apple. Kể từ đầu năm 2015, các tệp nhị phân được gửi phải bao gồm hỗ trợ 64 bit (arm64).

|
11

Với kế hoạch từ từ sử dụng Objective-C đã sử dụng từ lâu, Apple đã giới thiệu một ngôn ngữ lập trình mới, được gọi là Swift, để thiết kế các ứng dụng và ứng dụng chạy trên các thiết bị Apple iOS và máy tính Apple Macintosh.

Apple nói: " Swift là ngôn ngữ lập trình mới cho các ứng dụng iOS và OS X, được xây dựng trên nền tảng C và Objective-C tốt nhất, không bị ràng buộc về khả năng tương thích C. Swift áp dụng các mẫu lập trình an toàn và thêm các tính năng hiện đại để giúp lập trình dễ dàng hơn, nhiều hơn linh hoạt và thú vị hơn. Bảng xếp hạng sạch sẽ của Swift, được hỗ trợ bởi các khung Cacao và Ca cao cảm ứng trưởng thành và được nhiều người yêu thích, là cơ hội để mô phỏng lại cách thức phát triển phần mềm hoạt động. "

Giới thiệu nhanh

|
6

Những ngôn ngữ lập trình nào người ta có thể sử dụng để phát triển các ứng dụng iPhone, iPod Touch và iPad (iOs)?

Ruby, Python, Lua, Scheme, Lisp, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C ++, C. Đó chỉ là những thứ xuất hiện trong đầu tôi lúc này. Tôi chắc chắn có hàng trăm nếu không phải hàng ngàn người khác. (Ví dụ: không có lý do tại sao bạn không thể sử dụng bất kỳ ngôn ngữ .NET nào với MonoTouch, ví dụ VB.NET, F #, Nemerle, Boo, Cobra, ...)

Ngoài ra, có kế hoạch nào trong tương lai để mở rộng số lượng ngôn ngữ lập trình mà iOs sẽ hỗ trợ không?

Chắc chắn rồi. Khá nhiều mỗi cộng đồng ngôn ngữ lập trình trên hành tinh này hiện đang làm việc trên nhận được ngôn ngữ của họ để chạy trên iOS.

Ngoài ra, rất nhiều người đang làm việc trên các ngôn ngữ lập trình được thiết kế dành riêng cho các thiết bị cảm ứng như iPod touch, iPhone và iPad, ví dụ ngôn ngữ Thyrd của Phil Mercurio .

|
  • 1

    -1. Ruby, Python và ActionScript chưa hoạt động trên iOS. Trước đây, có những nỗ lực để CL và Scheme chạy, nhưng tôi không nghĩ rằng chúng đã được cập nhật. Thỏa thuận tương tự với Haskell. JavaScriptCore là một khung riêng tư ngay bây giờ; bạn có thể viết kịch bản Objective-C bằng cách sử dụng JS trong một lần xem web, nhưng điều đó thực sự rất rắc rối.

    – Đặng Tuấn Minh 18:08:27 16/10/2010
  • 1

    @Jonathan Sterling: Bạn nên nói điều đó với các nhà phát triển đã bán ứng dụng Ruby thông qua App Store trong hơn một năm nay. Tôi chắc rằng họ sẽ rất thích thú khi biết rằng ứng dụng của họ không tồn tại.

    – Hoàng Thiên Khánh 18:11:17 16/10/2010
  • 1

    Rhomobile không tính. Những ứng dụng gốc không thực sự. Họ chỉ bị mắc kẹt trong một webview.

    – Đỗ Thành Nguyên 18:37:21 16/10/2010
  • 1

    @Jonathan Sterling: Tôi có thể đến bữa tiệc muộn một chút, nhưng Actioncript được hỗ trợ trên iOS, thông qua AIR cho iOS. (Và đó là vào thời điểm nhận xét ban đầu ngày 10 tháng 10). Nó thậm chí còn có hiệu suất khá tuyệt vời ...

    – Lê Trang 09:28:01 04/10/2011
5

Ngôn ngữ lập trình của iOS (và Mac OS) là Objective-C và C. Bạn phải sử dụng nền tảng Xcode để phát triển ứng dụng iOS, trên phiên bản tiếp theo hiện có trên phiên bản beta, Xcode 4 cũng hỗ trợ C ++.

|
  • 1

    Bạn không cần sử dụng Xcode để phát triển ứng dụng iOS hoặc Objective C hoặc C ++. Ví dụ: bạn có thể sử dụng RubyMotion sử dụng các công cụ dòng lệnh. Ngoài ra, có một số giải pháp phát triển của bên thứ ba để phát triển một ứng dụng có thể chạy trên iOS và Android

    – Ngô Đức An 16:20:23 04/06/2014
4

Hiện tại cũng có thể sử dụng OCaml để phát triển ứng dụng iOS. Nó không phải là một phần của phân phối tiêu chuẩn và yêu cầu sửa đổi được cung cấp bởi công ty Psellos. Xem tại đây để biết thêm thông tin: http://psellos.com/ocaml/ .

|
2

Hiện tại chỉ có Objective-C mới được phép ... nhưng vì một vài tháng trước, bạn được phép viết các tập lệnh sẽ được diễn giải trong ứng dụng của bạn.

Vì vậy, bạn có thể viết trình thông dịch LUA hoặc trình thông dịch Python, sau đó viết một phần ứng dụng của bạn bằng ngôn ngữ kịch bản lệnh này. Nếu bạn muốn ứng dụng của mình được chấp nhận trên App Store, các tập lệnh này phải được gói cùng với ứng dụng (ví dụ ứng dụng của bạn không thể tải xuống từ Internet)

xem quy tắc cửa hàng ứng dụng mới

|
2

Đây có thể là một chủ đề cũ, nhưng tôi muốn đề cập đến Appcelerator Titanium , cho phép bất kỳ ai thành thạo HTML5 / JavaScript / CSS để phát triển các ứng dụng iOS.

|
1

Bạn có thể sử dụng ngôn ngữ lập trình "thông minh BASIC". Nó là một ngôn ngữ BASIC chính hãng nhưng rất tiên tiến với tất cả sức mạnh và sự đơn giản của nó. Sử dụng SDK miễn phí, mã BASIC có thể dễ dàng được xuất bản dưới dạng ứng dụng App Store độc ​​lập. Có nhiều ứng dụng trong App Store, được viết bằng ngôn ngữ lập trình "thông minh BASIC".

|
1

object-c là ngôn ngữ chính được sử dụng.

tôi tin rằng có một khung cảm ứng đơn có thể được sử dụng với c #

Adobe cũng đang làm việc trong một số công cụ, một trong số đó là iPhone Packager có thể sử dụng mã hành động

|

Câu trả lời của bạn (> 20 ký tự)

Bằng cách click "Đăng trả lời", bạn đồng ý với Điều khoản dịch vụ, Chính sách bảo mật and Chính sách cookie của chúng tôi.

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hoặc hỏi câu hỏi của bạn.