Tôi biết rằng XAML được sử dụng để thiết kế giao diện người dùng kết hợp với Blend. Tôi đang bối rối với rất nhiều điều khoản, như thế nào, XAML có hiệu lực như thế nào đối với WPF, Store App, Phone App hay UWA. Hơn nữa, sự khác biệt giữa WPF, Store App, Phone App và UWA là gì. Có phải tất cả điều đó có nghĩa là Dự án Máy tính để bàn cũ sẽ không còn được sử dụng và thay thế bằng WPF hoặc Ứng dụng Cửa hàng hoặc UWA không?XAML vs WPF so với ứng dụng cửa hàng so với ứng dụng điện thoại so với UWA
Trả lời
Khi .NET được phát hành vào ~ 2000, bạn có thể sử dụng WinForms để tạo các ứng dụng dành cho máy tính để bàn cho Windows. Nó cung cấp quyền truy cập vào các điều khiển 'bản địa' (tức là Nút được tạo trong WinForms thực sự là một điều khiển Nút Windows từ user32.dll) bằng cách gói API Windows trong mã được quản lý. Chúng có thể chạy trong bất kỳ phiên bản Windows nào đã cài đặt phiên bản .NET framework thích hợp, bao gồm tối đa Windows 10.
Năm 2006, WPF được phát hành thay thế cho WinForms. WPF sử dụng XAML, một ngôn ngữ dựa trên XML, để khai báo các phần tử giao diện người dùng. Trong một ứng dụng WPF đơn giản, tệp .xaml mô tả GUI và tệp mã-đằng sau mô tả logic. DirectX được sử dụng để vẽ bất cứ điều gì được mô tả trong .xaml vào cửa sổ.
Giống như Winforms, chương trình được tạo bằng WPF có thể chạy trong bất kỳ phiên bản Windows nào đã cài đặt phiên bản .NET thích hợp, bao gồm tối đa Windows 10. Lưu ý rằng việc sử dụng XAML là hoàn toàn tùy chọn. Bất kể phần tử giao diện người dùng nào bạn mô tả bằng XAML cũng có thể được thực hiện bằng ngôn ngữ .NET của bạn C# hoặc VisualBasic.NET. Nhưng việc sử dụng XAML thường đơn giản hơn. Xem To XAML or not to XAML (MSDN Blogs).
Từ XAML (Wikipedia):
Như XAML chỉ đơn giản là dựa trên XML, các nhà phát triển và nhà thiết kế có thể chia sẻ và chỉnh sửa nội dung tự do với nhau mà không cần biên dịch.
Từ ~ 2012 cùng với Windows 8, một loại ứng dụng mới có tên là metro/modern/windows-8/windows-store-apps có thể được thực hiện. Các ứng dụng này tương tự như WPF ở chỗ chúng sử dụng XAML để mô tả GUI. Các ứng dụng này chỉ có thể chạy trong Windows 8, 8.1 và Windows 10. Windows 8.1 đã bổ sung một số cải tiến và tính năng nhưng hầu như vẫn giữ nguyên. Công nghệ tương tự đã được sử dụng để tạo ứng dụng cho Windows Phone.
Với việc phát hành Windows 10, Microsoft đã tạo UWP (Nền tảng Windows phổ quát) thông qua đó bạn có thể sử dụng cùng một cơ sở mã để nhắm mục tiêu các loại thiết bị khác nhau (máy tính để bàn/di động/xbox/IoT/holographic). Các ứng dụng này được tạo cho UWP tương tự như các ứng dụng Windows 8/8.1 trước đó. Giống như trước, XAML được sử dụng để mô tả GUI.
Chỉ dành cho các ứng dụng Windows Store, không có khả năng tương thích lạc hậu. Dòng thời gian đi theo số Windows 8
->Windows 8.1
-> . Một ứng dụng được thực hiện trong UWP có thể chỉ chạy trong Windows 10 và một ứng dụng được thực hiện trong Windows 8.1 không thể chạy trong Windows 8.
Cảm ơn bạn đã trả lời. Vì vậy, nó có nghĩa là, nếu tôi muốn chạy ứng dụng của tôi trong các thiết bị khác nhau (PC/Tablet/Điện thoại) cho Windows 8.1, tôi phải đi với Universal dự án mẫu của Windows 8.1. Và đối với Windows 10, tôi phải đi với mẫu dự án UWP, phải không? –
Đúng vậy. Lưu ý Windows 8.1 không phải là 'phổ quát' như UWP, vì nó chỉ có thể chia sẻ tài nguyên giữa máy tính để bàn Windows 8.1 và Windows 8.1 Phone. Trong UWP, cùng một cơ sở mã được sử dụng cho tất cả các hệ số dạng. –
sửa tôi nếu tôi sai, nhưng tôi nghĩ XAML không giống với winRT như trong WPF. – mFeinstein
Tôi rất muốn giới thiệu chuỗi thảo luận này trong chế độ chờ, nó có nhiều chi tiết hơn và explanation of the concepts behind WPF, UWP And WinRT .
Đối với WinForms, tôi tin rằng đó là lịch sử ngay bây giờ. Đã gần như được thay thế bởi WPF. Tôi tin rằng Microsoft đã ngừng phát triển Windows Forms và có thể đã ngừng duy trì nó là tốt.
Winforms chắc chắn không phải là "lịch sử". Nó có sự hỗ trợ chủ đạo từ nhiều nhà cung cấp bên thứ ba (DevExpress, Syncfusion, Telerik, Infragistics, ComponentOne, Dart, vv) và các diễn đàn vẫn phát triển mạnh. Và, không có hành vi phạm tội, nhưng các câu trả lời không có thẩm quyền "Tôi tin rằng" loại thực tế có ít liên quan đến những người đang tìm kiếm câu trả lời. – Jazimov
- 1. khoảng cách điện thoại so với monotouch cho ứng dụng chuyên sâu dữ liệu
- 2. PHP so với máy chủ ứng dụng?
- 3. Flask ('ứng dụng') so với Flask (__ name__)
- 4. Lợi thế của ứng dụng WPF so với Winform dành cho ứng dụng doanh nghiệp?
- 5. Lời hứa - gọi lại lỗi so với số điện thoại
- 6. Ưu điểm và nhược điểm của việc viết C#/Xaml so với các ứng dụng WinRT C#/Xaml so với HTML/JavaScript trong Windows8
- 7. Tích lũy vs lần so với giảm so với nén
- 8. pymssql so với pyodbc so với adodbapi so với ...
- 9. Kích thước cập nhật ứng dụng iOS lớn hơn nhiều so với kích thước ứng dụng
- 10. Hiệu suất ứng dụng Phonegap so với hiệu suất ứng dụng gốc
- 11. Vận chuyển libstdC++, so.6 với ứng dụng
- 12. Stackpanel: Chiều cao so với ActualHeight so với ExtentHeight vs ViewportHeight vs DesiredSize vs RenderSize
- 13. Application_Start so với OnInit so với constructor
- 14. Ứng dụng Chrome so với plugin so với tiện ích mở rộng và cách phát triển chúng
- 15. APL so với A so với J so với K?
- 16. metaphone so với soundex so với NYSIIS
- 17. MarionetteJS: Vùng ứng dụng so với Bố cục
- 18. Phát triển ứng dụng Android: java so với jquery mobile
- 19. Mô hình dự án Django.py so với ứng dụng models.py
- 20. Tên dự án so với tên ứng dụng ở Django
- 21. Thạch anh so với ScheduledExecutorService trong ứng dụng web Java
- 22. Ứng dụng so với trạng thái cục bộ trong redux
- 23. Đặt minSdkVersion khác cho testAndroid so với ứng dụng chính
- 24. Bộ lọc so với bộ chặn trong ứng dụng web
- 25. Hàng đợi Redis so với MSMQ
- 26. Application.Current.Shutdown() so với Application.Current.Dispatcher.BeginInvokeShutdown()
- 27. req.locals so với res.locals so với res.data so với req.data so với app.locals trong phần trung gian Express
- 28. Bảo mật của Tomcat so với WebSphere so với WebLogic
- 29. NSImage so với CIImage so với CGImage?
- 30. Siêu khóa so với khóa Ứng viên
Lịch sử diễn ra như thế này. WPF lần đầu tiên sử dụng XAML. Sau đó, cùng đến WINRT đã gửi MSFT vào không gian và quay ra những gì họ gọi là XAML cho Store Apps. Chỉ cần google WPF DEAD? APPS điện thoại có thể sử dụng XAML quá nhưng nó là loại nền tảng riêng của nó giống như Silverlight.Để khép lại những khoảng trống này, UWA đến và quan tâm hơn nữa vì MSFT đã sắp xếp mọi thứ với Windows 8, và cố gắng đưa tất cả lại với nhau và họ không thể làm được điều đó. BTW bạn không cần Blend. –
Bạn có thể thấy bài viết Wiki hữu ích của tôi: [UWP vs. WPF] (https://github.com/jbe2277/waf/wiki/UWP-vs.-WPF) – jbe