Uno Platform là gì?

Uno Platform là gì?

Uno Platform là Universal Windows Platform Bridge cho phép code dựa trên UWP (C# và XAML) chạy trên iOS, Android và WebAssembly. Nó cung cấp những định nghĩa API đầy đủ của UWP Windows 10 2004 (19041) và việc triển khai các phần của UWP API, chẳng hạn như Windows.UI.Xaml, để cho phép các ứng dụng UWP chạy trên những nền tảng này.

Điều này cho phép sử dụng công cụ UWP từ Windows trong Visual Studio, chẳng hạn như Xaml Edit and ContinueC# Edit and Continue, xây dựng ứng dụng nhiều nhất có thể trên Windows, sau đó xác thực rằng ứng dụng đó chạy trên iOS, Android và WebAssembly.

XAML User Interface (UI) cung cấp khả năng hiển thị các file XAML giống nhau trên những nền tảng Windows, iOS, Android và WebAssembly. Uno cũng cung cấp hỗ trợ cho mẫu Model-View-ViewModel (MVVM) trên tất cả các nền tảng, với những tính năng ràng buộc, tạo kiểu, điều khiển và tạo template dữ liệu.

Vì Uno Platform cung cấp tất cả các API của nền tảng UWP hoàn chỉnh, nên bất kỳ thư viện UWP nào cũng có thể được biên dịch trên Uno (ví dụ: XamlBehaviors), với khả năng xác định API nào được triển khai hoặc không thông qua IDE bằng cách sử dụng C# Analyzer.

Uno Platform cung cấp tất cả các API của nền tảng UWP hoàn chỉnh
Uno Platform cung cấp tất cả các API của nền tảng UWP hoàn chỉnh

Tại sao lại dùng Uno Platform?

Việc phát triển cho Windows (điện thoại, máy tính để bàn, máy tính bảng, Xbox), WebAssembly, iOS (máy tính bảng và điện thoại), Android (máy tính bảng và điện thoại), macOS và Linux cùng một lúc có thể là một quá trình phức tạp, đặc biệt là khi nói đến giao diện người dùng. Mỗi nền tảng có cách xác định bố cục động riêng, có thể hiệu quả, thanh lịch hoặc mang đến hiệu suất khác nhau.

Tuy nhiên, việc có thể thành thạo tất cả các framework này cùng một lúc là một nhiệm vụ đặc biệt khó khăn, vì lượng kiến ​​thức cụ thể cần thiết để thành thạo mỗi nền tảng rất lớn. Trong hầu hết mọi trường hợp, các nhóm khác nhau phát triển cùng một ứng dụng nhiều lần, mỗi nhóm yêu cầu một chu kỳ phát triển đầy đủ.

Với Xamarin “cổ điển”, C# đến với tất cả các nền tảng này, tuy nhiên, nó chỉ cung cấp những bản chuyển đổi minh bạch của các UI framework có sẵn cho iOS và Android. Hầu hết code không phải UI có thể được chia sẻ, nhưng khi nói đến UI, hầu như không có gì có thể được chia sẻ.

Để tránh phải học cách tiếp cận và kỹ thuật tạo bố cục giao diện người dùng cho từng nền tảng, Uno.UI bắt chước cách tiếp cận của Windows XAML để xác định giao diện người dùng và bố cục. Uno.UI có khả năng chia sẻ kiểu, bố cục và liên kết dữ liệu trong khi vẫn giữ được khả năng kết hợp kiểu XAML và bố cục gốc. Ví dụ: StackPanel có thể dễ dàng chứa RelativeLayout trên Android hoặc MKMapView trên iOS.

Uno.UI cung cấp khả năng cho các nhà phát triển sử dụng lại những kỹ thuật bố trí và viết code đã biết trên tất cả các nền tảng, giúp tăng năng suất tổng thể khi tạo các ứng dụng chú trọng đến giao diện người dùng.

Uno Platform không làm được gì?

Uno không có nghĩa là thay thế hoàn toàn tất cả các UI framework gốc. Đây sẽ là cách tiếp cận mẫu số thấp nhất và dẫn đến việc người dùng cuối nhận thấy sự xuất hiện hoặc hành vi không phải của ứng dụng gốc trên thiết bị của họ. Có một ứng dụng iOS hoạt động giống như một ứng dụng Android có thể làm phiền người dùng.

Uno cung cấp một tập hợp bố cục và tính năng điều khiển chung, được thiết kế để cung cấp khả năng chia sẻ một phần quan trọng trong code và markup của ứng dụng. Tuy nhiên, nó vẫn để lại cho các nhà phát triển khả năng giữ lại giao diện gốc. Đồng thời, Uno cung cấp một cách để có một UI và UX hoàn hảo đến từng chi tiết giống hệt nhau trên tất cả các nền tảng. Thông thường, giao diện này sẽ được tìm thấy trong phần điều hướng, chuyển tiếp và hoạt ảnh, trang chính và các cạnh của màn hình.

Mặc dù Uno Platform cung cấp tất cả các API UWP, nhưng rất nhiều API đó không được triển khai. Nó hiện cung cấp một tập hợp nhỏ các phần không phải giao diện người dùng cơ bản của UWP, chẳng hạn như lớp Windows.UI.Xaml.Application, mang đến khả năng có một code bootstrap ứng dụng chung.

Uno Platform hoạt động như thế nào?

Uno cung cấp một tập hợp các API sử dụng tên lớp và thuộc tính tương thích với Windows UWP
Uno cung cấp một tập hợp các API sử dụng tên lớp và thuộc tính tương thích với Windows UWP

Uno cung cấp một tập hợp các API sử dụng tên lớp và thuộc tính tương thích với Windows UWP, đồng thời cho phép những lớp đó kế thừa từ container bố cục ban đầu của nền tảng, trong trường hợp của các API XAML.

Ví dụ: Windows.UI.Xaml.Controls.StackPanel kế thừa trực tiếp từ ViewGroup trên Android và UIView trên iOS.

Sau đó, hệ thống bố cục gốc cho các phần tử bên trong được ghi đè bằng hệ thống bố cục tương thích với XAML. Điều này có nghĩa là một StackPanel sẽ sử dụng các chiến lược bố cục giống nhau trên tất cả mọi nền tảng.

Trên nền tảng Windows, Uno.UI không có mặt và các file bố cục XAML được giữ nguyên. Trên các nền tảng tương thích với Xamarin cổ điển, những file XAML được xử lý tại thời điểm biên dịch để tạo ra code không có điều kiện, sẽ được thực thi ngay trong thời gian chạy trên thiết bị. Điều này có nghĩa là không có phân tích cú pháp trong thời gian chạy của XAML, điều này làm cho việc tạo cây giao diện người dùng trở nên đặc biệt hiệu quả.

Uno.UI cũng cung cấp các cách để markup nền tảng cụ thể trong file XAML, cho phép tạo một cây file đơn giản trong khi điều chỉnh giao diện người dùng cho từng nền tảng.

Xem thêm:

Thứ Ba, 20/10/2020 10:39
51 👨 661
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản