Tìm hiểu về Xamarin trong lập trình mobile
1. Xamarin là gì Xamarin được thành lập vào tháng 5 năm 2011 bởi các kỹ sư đã tạo ra Mono, Mono cho Android và MonoTouch, là sự triển khai nhiều nền tảng của Common Language Infrastructure (CLI) và Common Language Specifications ( Thường được gọi là Microsoft .NET). Với cơ sở mã nguồn mở của ...
1. Xamarin là gì
Xamarin được thành lập vào tháng 5 năm 2011 bởi các kỹ sư đã tạo ra Mono, Mono cho Android và MonoTouch, là sự triển khai nhiều nền tảng của Common Language Infrastructure (CLI) và Common Language Specifications ( Thường được gọi là Microsoft .NET). Với cơ sở mã nguồn mở của C#, các nhà phát triển có thể sử dụng các công cụ Xamarin để viết các ứng dụng Android, iOS và Windows với giao diện người dùng và chia sẻ code trên nhiều nền tảng, bao gồm Windows và macOS.
2. Ưu điểm của Xamarin
Chia sẻ code ở mọi nơi
Khi bạn tạo ứng dụng trên Xamarin, bạn sử dụng cùng ngôn ngữ, API và cấu trúc dữ liệu để chia sẻ trung bình 75% code trên tất cả các nền tảng phát triển điện thoại di động. Logic ứng dụng này có thể dễ dàng chia sẻ trên nhiều nền tảng. Qua đó có thể giảm đáng kể chi phí và thời gian phát triển ứng dụng di động cho 3 nền tảng phổ biến nhất.
Performance như native
Không giống như phương pháp kết hợp truyền thống dựa trên các công nghệ web, một ứng dụng đa nền tảng được xây dựng với Xamarin cũng có thể xem vào hàng native. Các số liệu performances là tương đương khi so sánh với các số liệu performance của Java cho Android và Objective-C hoặc Swift cho ứng dụng phát triển ứng dụng iOS native. Hơn thế nữa, performance liên tục được cải thiện để phù hợp hoàn toàn với tiêu chuẩn của lập trình native. Nền tảng Xamarin cung cấp là giải pháp để testing và theo dõi hoạt động của ứng dụng. Xamarin Test Cloud kết hợp với công cụ Xamarin Test Recorder cho phép bạn chạy các UI test tự động và xác định các vấn đề về performance trước khi ứng dụng release. Tuy nhiên, dịch vụ này có tính phí.
Xamarin.Forms như một API
Xamarin.Forms là một API giúp xây dựng code giao diện người dùng có thể được chia sẻ trên các ứng dụng iOS, Android và Windows Phone với 100% C#. Xamarin.Forms bao gồm hơn 40 điều khiển và bố cục, được ánh xạ tới các điều khiển gốc trong quá trình chạy.
3. Nhược điểm của Xamarin
Bản quyền Xamarin khá “đắt đỏ”
Khi doanh nghiệp đăng ký có thể mất chi phí hằng năm là $999 cho mỗi developer, mỗi nền tảng thiết bị, đồng nghĩa chi phí sẽ khá cao dù bạn dự định chỉ tạo ra một phần mềm nhỏ. Ví dụ, bạn sẽ mất gần $$0.000 hằng nằm để chạy một đội ngũ với 5 engineers, mỗi người xây dựng một ứng dụng cho iOS và Android. Tuy nhiên, nếu dự định xây dựng giải pháp cho điện thoại đa nền tảng trong tương lai hoặc cung cấp dịch vụ phát triển ứng dụng Xamarin thì bản quyền Xamarin là một đầu tư khôn ngoan hơn so với các chi phí phát triển của các ứng dụng native. Tuy nhiên, kể từ khi được mua lại bởi Microsoft,, Xamarin đã thay đổi đáng kể so với chính sách giá cả của nó. Hiện tại, Xamarin được cung cấp miễn phí cho người dùng Visual Studio và sẽ sớm hoàn thành mã nguồn mở.
Apps thực hiện chậm hơn và yêu cầu nhiều dung lượng hơn trên thiết bị
Ứng dụng Xamarin lớn hơn,nặng hơn so với ứng dụng native. So sánh với ứng dụng native nó chiếm nhiều hơn vài Mb so với Java/Objective C tương ứng. kích thước của một ứng dụng code bằng xamarin là 3Mb, trong khi code bằng Objective C chỉ chiếm 172 Kb. Càng sử dụng nhiều API, càng nhiều lưu trữ bị chiếm trên thiết bị
4. Kết luận
Hầu hết các chủ doanh nghiệp lựa chọn nền tảng ứng dụng phát triển mobile Xamarin vì nó làm giảm thời gian tiếp cận thị trường và chi phí kỹ thuật, bằng cách chia sẻ mã code và sử dụng 1 single technology. Tuy nhiên, mục đích của ứng dụng và đối tượng mục tiêu mới chính là yếu tố quan trọng cần xem xét. Trong trường hợp người dùng phải đối mặt với UI nặng, số lượng mã được chia sẻ bị giảm đi đáng kể. Như vậy, phát triển nền tảng đa diện của Xamarin mất đi lợi ích của nó, hệ quả là chi phí và thời gian làm việc của giải pháp native. Tuy nhiên, nếu bạn tìm kiếm một giải pháp Xamarin thay thế để xây dựng ứng dụng điện thoại đa nền tảng, bạn có thể sẽ thất vọng. Xamarin là đáng giá? Đúng. Nhưng đi liền với nó là một cái giá nhất định. Nếu không có nhu cầu để phát triển nhanh app có nội dung đơn giản hay app mẫu, bạn vẫn nên sử dụng phát triển native cho ứng dụng của mình.