Người ta có thể sử dụng ngôn ngữ lập trình nào để phát triển các ứng dụng iPhone, iPod Touch và iPad (iOS)?
Ngoài ra, có kế hoạch trong tương lai để mở rộng số lượng ngôn ngữ lập trình mà iOS sẽ hỗ trợ không?
Câu trả lời:
Apple đã dỡ bỏ các hạn chế đối với các ứng dụng C / C / C ++ không Mục tiêu - bạn chỉ 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 hợp ngữ 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 vẫn nghe thấy ruby, nhưng chúng chỉ là tin đồn.
Tôi nghĩ Lua đang được sử dụng cho logic trò chơi trên rất nhiều ứng dụng.
EDIT (vào năm 2018): Nói chung, bạn có thể sử dụng bất kỳ ngôn ngữ nào mà 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 (xem Ứng dụng React Native tải JavaScript từ máy chủ), nhưng về mặt kỹ thuật, nó không được phép. Điều chính sẽ khiến bạn chú ý đến từ Apple nếu bạn tạo ra một loại App Store nào đó tải toàn bộ những thứ giống như Ứng dụng.
CHỈNH SỬA (vào năm 2020): từ @Pylot trong nhận xét: Tôi biết điều này đã lâu rồi, nhưng bây giờ ít nhất về mặt kỹ thuật, bạn có thể tải mã không được nhúng trong ứng dụng, vì bạn có thể viết bằng JavaScript bằng cách sử dụng webview. Không ở lại câu trả lời của bạn là sai hay bất cứ điều gì, tôi chắc chắn đồng ý với bạn. nhưng tôi đang tìm kiếm một cái gì đó và tìm thấy bài đăng này trên đường đi. Nếu có ai nhìn thấy điều này thì có thể giúp họ.
Thỏa thuận SDK và nguyên tắc của App Store đã được thay đổi (khoảng tháng 9 năm 2010).
Giờ đây, bạn có thể sử dụng bất kỳ ngôn ngữ biên dịch nào sẽ biên dịch sang định dạng tệp đối tượng ARM tĩnh giống như Xcode tạo ra và sẽ liên kết đến (chỉ) 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ữ 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 được 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 mã nguồn được nhập -in bởi người dùng.
Objective C và C có thể sẽ vẫn là ngôn ngữ lập trình tối ưu nhất cho bất kỳ thứ gì yêu cầu hiệu suất 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 mục tiêu vào các khung iOS của mình và điều chỉnh chipset xử lý ARM của mình. Apple cũng hỗ trợ việc 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.
Tuy nhiên, nếu bạn thực sự muốn, có ít nhấ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, vì vậy 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 đã gửi phải bao gồm hỗ trợ 64-bit (arm64).
Với kế hoạch từ từ loại bỏ Objective-C đã đượ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 cho biết: " Swift là một ngôn ngữ lập trình mới cho các ứng dụng iOS và OS X, được xây dựng dựa trên những gì tốt nhất của C và Objective-C, không có 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, linh hoạt và thú vị hơn. Phương án rõ ràng của Swift, được hỗ trợ bởi các khung Cocoa và Cocoa Touch trưởng thành và được yêu thích nhiều, là cơ hội để hình dung lại cách hoạt động của phát triển phần mềm. "
Người ta có thể sử dụng ngôn ngữ lập trình nào để 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 ngay bây giờ. Tôi chắc rằng có hàng trăm, nếu không muốn nói là hàng nghìn người khác. (Ví dụ: không có lý do gì bạn không thể sử dụng bất kỳ ngôn ngữ .NET nào với MonoTouch, tức là VB.NET, F #, Nemerle, Boo, Cobra, ...)
Ngoài ra, có kế hoạch 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ế đặc biệt cho các thiết bị cảm ứng như iPod touch, iPhone và iPad, ví dụ như ngôn ngữ Thyrd của Phil Mercurio .
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 bản phát hành beta, Xcode 4 cũng hỗ trợ C ++.
Giờ đây cũng có thể sử dụng OCaml để phát triển các ứ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 các sửa đổi do công ty Psellos cung cấp. Xem tại đây để biết thêm thông tin: http://psellos.com/ocaml/ .
Đâ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ông thạo HTML5 / JavaScript / CSS phát triển các ứng dụng iOS.
Hiện tại chỉ Objective-C mới được phép ... nhưng kể từ vài tháng trước, bạn được phép viết các script sẽ được thông dịch 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 số phần ứng dụng của bạn bằng ngôn ngữ kịch bản 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 đóng 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)
target-c là ngôn ngữ chính được sử dụng.
tôi tin rằng có một khung đơn cảm ứng 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 là iPhone Packager này có thể sử dụng mã hành động
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ó rất nhiều ứng dụng trong App Store, được viết bằng ngôn ngữ lập trình "THÔNG MINH CƠ BẢN".