Trước đây khi lập trình ứng dụng mobile thì bắt buộc chúng ta phải sử dụng từng ngôn ngữ lập trình riêng cho các hệ điều hành. Ví dụ với Android thì bạn phải học JAVA, Window Phone thì dùng C#, iOS thì dùng Objective C hoặc Swift ... nhưng bây giờ công nghệ ngày càng được nâng cao nên bạn có thể sử dụng một công nghệ là có thể xây dựng được ứng dụng trên nhiều nền tảng, và Xamarin là một trong những công nghệ đó.
Bài viết này được đăng tại anhben.com, không được copy dưới mọi hình thức.
Mục lục
1. Mono là gì?
Mono là một bộ mã nguồn mở dựa trên .Net Framework được phát triển bởi Novell và sở hữu bởi Xamarin, một công ty con của Microsoft. Nó được giới thiệu lần đầu tiên vào 30 tháng 6 năm 2004. Mục đích của dự án Mono là đưa những ứng dụng được xây dựng dựa trên nền tảng .Net chạy được trên các nền tảng khác như Linux, Android, Mac.
Nền tảng .Net giúp bạn chạy ứng dụng trên Android sử dụng Mono for Android mà được biết đến là Xamarin.Android và trên IOS với MonoTouch được biết đến như là Xamarin.iOS.
2. Giới thiệu về Xamarin
2.1. Lịch sử phát triển của Xamarin
Xamarin được thành lập từ tháng 5/ 2011 từ dự án Mono Open source – một Platform cho phép chạy .Net trên tất cả các nền tảng: Linux, Android, iOS, … do Miguel de Icaza và Nat Friedman sáng lập với cộng đồng khoảng 1.3 triệu lập trình viên, độc quyền sử dụng công cụ của hãng, tạo nên các ứng dụng di động bằng C#, cho phép chạy cross-platform (xuyên nền tảng) dành cho iOS, Android và Windows.
2.2. Đặc điểm của Xamarin
Xamarin hỗ trợ truy cập hoàn toàn tới SDK gốc cũng từng nền tảng và thêm một số tiện ích mới như sau:
- Chuyển đổi trực tiếp những phương thức trong SDK của Android và iOS sang ngôn ngữ .Net.
- Cung cấp trình dò lỗi và kiểm tra “compile – time” hoặc trong quá trình phát triển, giảm thiểu lỗi runtime và tăng chất lượng ứng dụng.
- Chèn trực tiếp các thư viện Objective-C, Java, C, và C++, giúp lập trình viên có thể sử dụng các thứ viện của bên-thứ-3 một cách dễ dàng.
- Ngôn ngữ C# có một số điểm mới hơn so với Objective-C và Java như: Dynamic Language Features, Lambdas, LINQ, Parallel Programming, Generics, v.v…
- Gồm rất nhiều class hỗ trợ toàn diện và sắp xếp hợp lý, như XML, Database, Serialization, IO, String, Networking và nhiều thứ khác.
- Bộ công cụ Xamarin Studio trên Mac OS
- Bộ công cụ Xamarin Studio hoặc Visual Studio 2013 trên Windows
- Ứng dụng có thể được viết với 90% code được chia sẻ hoặc dùng chung. 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 hiện nay là iOS, Android và Windows Phone.
3. Kiến trúc Xamarin
Xamarin được xây dựng dựa trên Mono giúp ứng dụng chạy trên Android, MAC và LINUX. Sử dụng Mono, bạn có thể truy cập các tính năng của C# .NET và sử dụng nó để phát triển cho các nền tảng ngoài Windows. Kiến trúc cơ bản của Xamarin như hình dưới.
Nếu bạn không hiểu ngay thì cũng đừng lo lắng, chúng ta sẽ tìm hiểu dần từng phần nhé.
4. Các thanh viên trong gia đình Xamarin
Dựa trên các hệ điều hành, Xamarin có các lựa chọn đa dạng để phát triển ứng dụng cho IOS, Android, MAC, Android Wear, Android TV, Windows Phone hoặc nền tảng UWP. Dưới đây là các tùy chọn để phát triển ứng dụng sử dụng Xamarin.
5. Bộ công cụ phát triển (SDKs)
Để phát triển ứng dụng với Xamarin, bạn cần cài đặt SDKs cho iOS, Android và Windows
6. Môi trường phát triển ứng dụng Xamarin (IDEs)
Bạn có thể phát triển ứng dụng với Xamarin thông qua Visual Studio cho hệ điều hành Windows, Xamarin Studio hoặc Visual Studio cho MAC. Với các công cụ này, bạn đã có thể bắt đầu cho việc lập tình những ứng dụng đa nền tảng đầu tiên của mình.
7. Môi trường phát triển
- Trên môi trường MAC, bạn chỉ có thể viết ứng dụng cho Android và iOS, không cho Windows nhé.
- Trên môi trường Windows, bạn có thể phát triển ứng dụng Android và Windows và không cho iOS.
- Nếu bạn có máy Windows và 1 máy MAC mà lại đang code trên Windows thì vẫn có cách kết nối 2 máy để đưa code từ Windows thành ứng dụng trên iOS nhé.
8. Ai đang dùng Xamarin?
Hơn 1 triệu nhà phát triển đang dùng Xamarin để xây dựng các ứng dụng cho doanh nghiệp và các khách hàng trực tiếp. Dưới đây là một số công ty đã sử dụng các ứng dụng được phát triển với Xamarin.
9. Các ưu thế của Xamarin
- Sử dụng C#, một ngôn ngữ tuyệt với từ Microsoft
- Phát triển ứng dụng đa nền tảng
- Giảm thiểu chi phí phát triển phần mềm
- Hiệu năng và giao diện như ứng dụng Native (ứng dụng được viết bằng công cụ độc quyền cho nền tảng: dùng java viết android và dùng swift viết ios)
- Truy cập các API từ các nền tảng hệ điều hành
- Chia sẻ code xử lý logic trên tất cả nền tảng
- Các thư viện hỗ trợ đa dạng
- Bộ công cụ xây dựng mạnh mẽ
- Hỗ trợ kiểm thử và kiếm soát hiệu năng
10. Lời kết
Tôi hi vọng bạn đã nắm được phần nào tổng quan về việc Xamarin đã làm cách nào để xây dựng các ứng dụng đa nền tảng và có thể bắt tay vào cài đặt môi trường phát triển. Hãy cho tôi biết suy nghĩ của bạn hoặc có bất kì câu hỏi nào, hẹn hặp lại.