2013-03-06 36 views
9

Xamarin có vẻ là một lựa chọn tốt cho phát triển đa nền tảng cho tôi. Tuy nhiên, có giấy phép khởi động và độc lập. Sự khác biệt chính là:Kích cỡ IL cho mã Xamarin C#?

Xamarin Người khởi xướng cho phép nhà phát triển xây dựng và xuất bản các ứng dụng đơn giản, có chứa không quá 32k mã sử dụng biên dịch (IL)

tôi tự hỏi, là 32K IL là một nút cổ chai rất hạn chế? Tôi có thể nhận được gì từ mã 32K?

Nếu bạn đã thử phiên bản khởi động Xamarin, giới hạn kích thước có phải là vấn đề với bạn không và loại ứng dụng nào bạn phát triển?

+3

Vấn đề là ấn bản này chỉ có sẵn một tuần trước để có thể không có nhiều người đã tạo một ứng dụng với nó. Vì nó * là * miễn phí, tại sao không chỉ tải xuống và tạo ứng dụng hello world và xem kích thước là gì? – valdetero

Trả lời

16

Cập nhật (2016/03/31): giới hạn đó không tồn tại nữa sử dụng Xamarin.iOS 9.6.1

Tính đến Xamarin.iOS 9.8.1 không có Người khởi xướng phiên bản nữa và mới Cộng đồng edition thay thế nó có giới hạn kích thước không.

Cập nhật: giới hạn đã tăng lên đến 128KB trong Xamarin.iOS 8,4

Cập nhật: giới hạn đã tăng lên đến 64KB trong Xamarin.iOS 6.2

Hãy nhớ rằng nó là 32KB của người dùng mã.

Bạn nhận được tất cả thư viện lớp .NET (BCL), API iOS, MonoTouch.Dialog (cho giao diện người dùng), dịch vụ web, dữ liệu (ví dụ: sqlite) ... và thậm chí là mã kiểm tra đơn vị. Không ai trong số đó được tính là mã người dùng (vì vậy chúng không phải là một phần của giới hạn 32KB).

Ví dụ: một ứng dụng hello thế giới (không phải là một điểm chuẩn tuyệt vời, nó sẽ được chủ yếu là tạo ra mã) sẽ mất khoảng 4KB.

Cách tốt hơn để xem những gì có thể và tìm hiểu về phát triển C# trên iOS là xem samples khả dụng trên github. Hầu hết trong số họ phù hợp với giới hạn này.

+0

Rất ít ứng dụng nền tảng thực sự phù hợp với giới hạn này. Một ví dụ điển hình là ứng dụng "Dịch vụ thực địa" của riêng họ. Đã không thể xây dựng nó trừ khi tôi loại bỏ các nền tảng thay thế (đang cố gắng cho WP8.) Dường như phiên bản iOS đã phù hợp với giới hạn. –

+0

Giới hạn đó là trên mỗi nền tảng (.app cho iOS). IOW chỉ có mã cần thiết cho iOS đếm cho giới hạn, các hội đồng khác (nếu không được tham chiếu từ dự án không được tính). OTOH mẫu sử dụng một vài thành phần (như SignaturePad và Xamarin.Mobile) không phù hợp với giới hạn. Bạn vẫn có thể ** thử ** nó bằng cách dùng thử 30 ngày (không giới hạn kích thước). – poupou

+0

bạn có thể tách bất kỳ logic ứng dụng nào trong PCL (thư viện lớp di động) và giảm kích thước mã người dùng Xamarin thực tế –

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