Phát triển ứng dụng đa nền tảng với Xamarin (Bài 2)

Phát triển ứng dụng đa nền tảng với Xamarin là cách tiếp cận mà ở đó các nhà phát triển thiết kế các giao diện độc đáo cho từng nền tảng khác nhau như iOS, Android, WindowsPhone. Và sau đó tạo các thành phần có thể được tái sử dụng dễ dàng trên nền tảng khác.

Cấu trúc project sau khi tạo khi phát triển ứng dụng đa nền tảng

Giải thích cấu trúc project

1/ Shared Code: Những xử lý dùng chung cho các nền tảng như xử lý database, xử lý web services, xử lý nghiệp vụ, …

2/ Android UI Code: Những xử lý đặc thù đối với nền tảng Android như xử lý giao diện

3/ iOS UI Code: Những xử lý dành cho nền tảng iOS

Với giải thích như trên, khi thiết kế giao diện cho nền tảng Android, chúng ta phải sử dụng những View cho Android. Tương tự như vậy, chúng ta cũng phải thiết kế giao diện cho nền tảng iOS theo những view được hỗ trợ. Đây là việc các nhà phát triển cần phải làm cho mỗi nền tảng mà họ muốn phát triển. Ngoại trừ những xử lý chung sẽ được tạo ở Shared Code và được sử dụng cho những nền tảng khác nhau.

Ví dụ mẫu về phát triển ứng dụng đa nền tảng với Xamarin

Ví dụ này sử dụng project đã được tạo ở bài tạo ứng dụng đa nền tảng với Xamarin. Xử lý mặc định trong project là khi người dùng chạm vào button nó sẽ hiển thị sẽ lần mà người dùng đã chạm. Theo như phân tích ở trên, phần thiết kế và xử lý giao diện sẽ được tách riêng cho từng nền tảng. Android sẽ là DemoApp.Droid và DemoApp.iOS dành cho iOS. Vậy phần xử lý chung trong trường hợp này sẽ là đếm số lần mà người dùng đã chạm.

Theo mặc định phần xử lý đếm số lần mà người dùng chạm đang được cài đặt ở từng nền tảng. Do đó, chúng ta sẽ tách phần này và đặt ở DemoApp.

Các bước thực hiện

1/ Mở MyClass.cs (DemoApp)

Bổ sung xử lý sau (Chú ý pần code được tô màu đỏ)

int count;
public MyClass()
{
  count = 1;
}

public string getCount()
{
   return "{" + count++ +"} clicked";
}

2/ Mở MainActivity.cs (DemoApp.Droid)

Chỉnh sửa code như sau (Chú ý phần code được đóng khung viền đỏ)

3/ Mở ViewController.cs (DemoApp.iOS)

Chỉnh sửa code như sau (Chú ý phần code được đóng khung viền đỏ)

Chạy phát triển ứng dụng đa nền tảng với Xamarin

Nền tảng iOS

Khi người dùng chạm vào “Hello World, Click Me!

Nền tảng Android

Khi người dùng chạm vào “Hello World, Click Me!

Kết luận về phát triển ứng dụng đa nền tảng với Xamarin

Điểm sáng khi sử dụng Xamarin trong lập trình đa nền tảng là phần code được chia sẻ cho những nền tảng khác nhau. Và chúng ta dễ dàng nhìn thấy rằng, Xamarin không phải viết một lần chay trên nhiều nền tảng theo nghĩa tuyệt đối. Đối với mỗi nền tảng khác nhau, lập trình viên vẫn phải thiết kế và xử lý giao diện riêng biệt cho từng nền tảng.