2009-07-07 32 views
5

Tôi muốn bắt đầu phát triển các ứng dụng cho iPhone, nhưng tôi thực sự muốn sử dụng OCaml hơn là Objective-C. Sau khi một số googling, nó có vẻ như thế này là chắc chắn có thể, nhưng tôi đã không tìm thấy bất kỳ đoạn mã mà thực sự biên dịch.Làm thế nào để tôi làm nổi bật OCaml bằng iPhone API?

Có thể viết ứng dụng iPhone bằng OCaml không? Nếu vậy, bạn có thể cung cấp một đoạn mã chứng tỏ làm thế nào để thực hiện cuộc gọi vào Cocoa API từ OCaml?

+0

Xin chào Juliet, bạn đã tiến bộ như thế nào với sự phát triển OCaml/iOS của mình? Tôi sẽ rất quan tâm đến việc biết nhiều hơn, bởi vì tôi muốn làm điều tương tự trong một vài tháng. Tối đa – Max

+0

@Max: hi Max :) Tôi và một vài người bạn đang định hình thành một công ty khởi nghiệp viết các ứng dụng iPhone, nhưng họ không đủ cam kết để di chuyển một dự án từ ý tưởng sang thực tế. Cuối cùng đã học được, dự án này đã chết trước khi nó được thực hiện, nhưng ít nhất tôi cũng phải chịu đựng Obj-C và một số nền tảng mà tôi chưa bao giờ làm việc trước đây. – Juliet

Trả lời

4

Ngoài hộp, OCaml không thể được sử dụng để xây dựng ứng dụng iPhone. Bạn sẽ phải có mã ARM đầu ra OCaml chứ không phải mã x86. Bạn cũng sẽ phải xây dựng trình bao bọc cho tất cả các cuộc gọi API IPhone.

Tuy nhiên, những người này đang trải qua cơn đau để thử điều này.

http://web.yl.is.s.u-tokyo.ac.jp/~tosh/ocaml-on-iphone/

recomendation khiêm tốn của tôi là bạn tập trung vào việc sử dụng obj-C cho tất cả mọi thứ. Nếu bạn thực sự muốn một ML, hãy sử dụng nó chỉ cho hạt nhân hoặc phần thú vị. Tôi sẽ tìm thấy một * ML mã gens để một cái gì đó như C, và sau đó sử dụng kết quả đó như một thư viện cho ứng dụng.

Chúc may mắn.

+0

+1: Tôi sợ nó sẽ khó hơn âm thanh, nhưng nghĩ rằng tôi có thể sống với mục tiêu C ... miễn là tôi có thể tìm ra một macro thông minh giải quyết vấn đề funargs trở lên và xuống;) – Juliet

+1

Bạn có thể kiểm tra này ra: http://www.plausiblelabs.com/blog/?p=8 – drudru

12

Chúng tôi có hướng dẫn để xây dựng trình biên dịch chéo OCaml-to-iOS trên trang web của chúng tôi. Chúng tôi bắt đầu với các bản vá lỗi được đề cập ở trên, nhưng chúng tôi thấy rằng chúng cần được sửa đổi theo một số cách để chạy trên iPhone/iPad. Chúng tôi đang bán một ứng dụng iPhone có tên Cassino được viết hoàn toàn bằng OCaml (ngoại trừ các trình bao bọc mỏng cho Cocoa Touch). Wrappers cho tất cả các Cocoa Touch sẽ là một công việc lớn, nhưng hàm bao cho một ứng dụng đơn lẻ không quá tệ. Và mã hóa trong OCaml rất dễ chịu so với ObjC.

Chúng tôi cũng vừa phát hành toàn bộ nguồn cho một ứng dụng iPhone OCaml nhỏ có tên Portland tại trang web của chúng tôi. Đọc thêm tại psellos.com.

+0

Hướng dẫn rất tốt và không có lỗi khi xây dựng trình biên dịch sang ARM. +1 – ScootyPuff

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