Tạo một ứng dụng trên Windows. Viết ứng dụng Windows phổ quát đầu tiên
Chào mọi người! Có lẽ bạn đã nghe tin rằng trong 4 tuần đầu tiên Hơn 75 triệu người đã cài đặt Windows 10. Trong bối cảnh này, chúng tôi đặc biệt vui mừng được chia sẻ với bạn bài viết giới thiệu của Arseny Pechenkin từ DataArt về cách bắt đầu phát triển mười ứng dụng hàng đầu.
Đối với những người không chắc chắn có nên cài đặt Windows 10 trên máy yêu thích của mình hay không, chúng tôi khuyên bạn nên Đánh giá ngắn tài liệu về nền tảng, công cụ phát triển và các tính năng mới có sẵn khi phát triển ứng dụng.
Tôi nghĩ mọi người đều đã biết nơi và cách lấy bản sao Windows 10 của mình - chúng tôi sẽ không nói nhiều về điểm này. Việc cài đặt được thực hiện tương tự cài đặt Windows 8. Nếu bạn định cập nhật hệ thống, tôi thực sự khuyên bạn nên thực hiện tập tin sao lưu từ đĩa hệ thống.
Công cụ
Tôi có thể sử dụng những công cụ phát triển nào? Bạn sẽ cần một MS Visual Studio 2015 mới. Phiên bản miễn phí hiện có sẵn Visual Studio Phiên bản cộng đồng 2015 và các phiên bản Chuyên nghiệp và Doanh nghiệp trả phí.Cách đây một thời gian, hầu hết tất cả các phần về phát triển cho Windows 10 đều dẫn đến các phần về phát triển cho Windows 8.1, nhưng sau khi phát hành, tài liệu này sẽ dần được cập nhật (có tính đến thực tế là nền tảng UWP cho Windows 10 là sự phát triển của WinRT).
Khóa học trực tuyến tại Microsoft Virtual Academy
Đối với những người thích định dạng nghe nhìn để tìm hiểu nền tảng này, có một khóa học giới thiệu: Hướng dẫn dành cho nhà phát triển về Windows 10.Khóa học bao gồm các tính năng chính của nền tảng, mô hình và công cụ có sẵn để tạo ứng dụng Windows. Một số kịch bản cơ bản được triển khai trong ứng dụng được xem xét: làm việc với lượng bộ nhớ nhỏ, thực thi tác vụ ở chế độ nền, giao tiếp giữa các thiết bị, quản lý tệp và dữ liệu cũng như các phương thức tương tác của người dùng.
Mở khóa giấy phép và thiết bị
Giống như việc phát triển cho Windows 8/8.1, sẽ cần có giấy phép nhà phát triển. Điều này tương tự như Giấy phép dành cho nhà phát triển Windows 8/8.1 khi bạn tạo dự án đầu tiên của mình trực tiếp trong Visual Studio (điều này không giống với tài khoản xuất bản trên cửa hàng). Để cài đặt ứng dụng trên thiết bị của bạn, đừng quên mở khóa chúng:Ứng dụng phổ quát
Có gì mới cho nhà phát triển? Đã có thông báo rằng ứng dụng phổ quát này có thể chạy trên mọi nền tảng Windows 10. Điều này được triển khai thông qua một hệ thống gồm nhiều API khác nhau. Tức là có một lớp API chung cho tất cả các nền tảng (Universal Windows Platform, UWP). Nếu ứng dụng chỉ sử dụng các khả năng của nó, nó sẽ hoạt động trên tất cả các nền tảng có UWP.Nếu bạn cần sử dụng các khả năng nền tảng cụ thể (ví dụ: làm việc với các nút phần cứng trên điện thoại thông minh), thì bạn có thể sử dụng các API tương ứng thông qua tiện ích mở rộng nền tảng. Chức năng này sẽ chỉ hoạt động trên các nền tảng có các API này, vì vậy, việc kiểm tra tính khả dụng của các phương thức và lớp tương ứng cần được tích hợp vào mã.
Mẫu
Khi sử dụng Visual Studio, chúng tôi chỉ có quyền truy cập vào một mẫu dự án, Ứng dụng trống.Đây là một dự án dành cho một trang ứng dụng Universal Windows không có các phần tử được xác định trước quản lý và cơ cấu.
Ngoại trừ mẫu chuẩn, bạn có thể tìm thấy các mẫu từ cộng đồng nhà phát triển.
Bộ sưu tập hiện bao gồm các mẫu dự án sau:
- Ứng dụng trống, một dự án XAML một trang cơ bản. Tương tự như Ứng dụng trống tiêu chuẩn có trong SDK Windows 10, nhưng không có phép đo từ xa Thông tin chi tiết về ứng dụng.
- Ứng dụng SplitView, một dự án ứng dụng nhiều trang có khả năng điều khiển SplitView thích ứng.
- Ứng dụng Composition, một dự án không sử dụng thư viện thành phần tiêu chuẩn mà sử dụng API Windows.UI.Composition,
- Ứng dụng Composition XAML, một dự án sử dụng XAML và API Windows.UI.Composition.
Ví dụ
Để giúp đăng nhập vào nền tảng UWP dễ dàng hơn, Microsoft đã chuẩn bị một bộ sưu tập ví dụ ngày càng tăng:Trong hộp thoại New Project Visual Studio, chọn Visual C#, Silverlight cho Điện thoại Windows và một mẫu Ứng dụng Windows Phone đơn giản và hãy gọi nó là ExploringXAMLFeatures.
Trong hộp thoại chọn mục tiêu hệ điều hành chọn hệ điều hành Windows Phone 7.1
Sau khi tạo dự án, cửa sổ Visual Studio sẽ có dạng như sau:
Hãy xem cấu trúc dự án trong cửa sổ Solution Explorer:
Tên tập tin | Mục đích |
AppManifest.xml | Cần có tệp kê khai để tạo tập tin XAP, đóng gói ứng dụng để triển khai trên điện thoại. |
HộiInfo.cs | Một tệp cấu hình khác xác định một số siêu dữ liệu của Hội chính của ứng dụng. |
WMAppManifest.xml | Tệp siêu dữ liệu chứa nhiều cài đặt ứng dụng khác nhau: tiêu đề, cài đặt trang đầu tiên, đường dẫn đến biểu tượng, xác định các thông tin cần thiết khả năng hệ thống vân vân. |
Ứng dụng.xaml | Đây là tập tin tài nguyên ứng dụng. Đây là vị trí tài nguyên toàn cầu(điều này sẽ được thảo luận khi sử dụng kiểu) hoặc các sự kiện chung (xảy ra khi ứng dụng khởi động). Tập tin này cũng là điểm vào của ứng dụng. |
Ứng dụng.xaml.cs | Tệp mã (mã phía sau) cho App.xaml. Tại đây, bạn có thể xử lý các sự kiện và lỗi ở cấp ứng dụng, bao gồm cả việc chôn vùi ứng dụng. Khái niệm này sẽ được đề cập sau khi thực hiện đa nhiệm. |
ApplicationIcon.png | Hình ảnh sẽ là biểu tượng ứng dụng trên điện thoại. Nó thực sự tập tin quan trọng, vì đây là thứ đầu tiên người dùng sẽ nhìn thấy khi làm việc với ứng dụng. |
Background.png | Hình ảnh này được sử dụng khi ứng dụng được ghim vào màn hình bắt đầuđiện thoại (màn hình bắt đầu). Về cơ bản điều này biểu tượng lớn các ứng dụng. Sẽ rất hợp lý khi làm cho nó trông giống với ApplicationIcon.png. |
MainPage.xaml | Đây là một phần của mẫu ứng dụng đã chọn. MainPaige không phải là một cái tên hay lắm, nhưng đó là tên mà mẫu dự án mặc định sử dụng. Trang này thể hiện giao diện mà người dùng nhìn thấy khi khởi động ứng dụng. |
MainPage.xaml.cs | Tệp mã trang MainPage.xaml. |
SplashScreenImage.jpg | Hình ảnh này được hiển thị trong khi ứng dụng đang tải. Bạn có thể đặt hình ảnh động của riêng mình để thông báo rằng ứng dụng đang tải. Có một kỹ thuật tạo các trang tải rất động trong XNA, nhưng nó nằm ngoài phạm vi của loạt bài viết này. |
Các tệp XAML xác định giao diện của ứng dụng. Thực ra nó đơn giản Tệp XML với ngôn ngữ đánh dấu XAML.
Mặc dù đây là dự án đơn giản nhất nhưng nó chứa tất cả các thành phần chính mà tất cả các mẫu và loại dự án khác đều có.
Xin lưu ý rằng một số cài đặt được trình bày trong biểu mẫu tập tin cấu hình, có thể được chỉnh sửa trong giao diện trực quan để chỉnh sửa cài đặt ứng dụng.
Thêm điều khiển vào trang XAML
Lưu ý rằng Visual Studio hiển thị cả thiết kế và XAML của trang theo mặc định.
Nếu bạn đi xem các tệp giải pháp khác, nhấn đúp chuộtđi tới tệp MainPage.xaml.
Trong mã XAML của tệp MainPage.xaml, bên trong phần tử Lưới có tên ContentPanel, hãy chèn điều khiển Nút:
Trong cửa sổ thiết kế, nút sẽ xuất hiện ngay ở khoảng giữa giao diện. Chú ý đến thuộc tính Tên? Đây là mã định danh duy nhất của phần tử, giúp bạn tham chiếu nó trong mã. Hãy coi đây là thuộc tính ID của điều khiển. Bây giờ chúng ta hãy thêm một số hành động khi nút này được nhấp vào. Có hai cách để liên kết một sự kiện với Nút (hoặc bất kỳ điều khiển nào khác). Trong XAML, ngay trong định nghĩa Nút, chúng ta có thể thêm thuộc tính Click và InteliSense sẽ tự động hỏi xem chúng ta có muốn tạo một trình xử lý sự kiện mới hay không:
Bạn có thể liên kết trình xử lý sự kiện trực tiếp trong mã trang Home.xaml.cs mà không cần chỉ định nó trong tệp XAML:
Public MainPage() ( Khởi tạoComponent(); MyButton.Click +=new RoutedEventHandler(MyButton_Click); )
Cả hai phương pháp đều hoạt động. Bạn có thể sử dụng bất kỳ trong số họ. Để đơn giản, chúng tôi sẽ sử dụng định nghĩa phương thức XAML ở đây. Bây giờ bạn có thể viết mã được quản lý trong hàm MyButton_Click để thay đổi giao diện hoặc gọi các hàm khác. Hãy hoàn thành ứng dụng ví dụ của chúng tôi bằng cách thêm mã sẽ thay đổi văn bản trong TextBlock PageTitle (PageTitle là Tên, vì vậy bạn có thể tham chiếu trực tiếp nó trong mã) thành "hello wp7". Để thực hiện việc này, hãy thêm mã sau vào hàm:
Khoảng trống riêng tư MyButton_Click(người gửi đối tượng, RoutedEventArgs e) ( PageTitle.Text = "hello wp7"; )
Chọn trong cài đặt dự án Thiết bị Windows Giả lập
Và khởi chạy ứng dụng bằng cách nhấp vào hình tam giác màu xanh lá cây hoặc nút F5. Sau khi khởi chạy ứng dụng và nhấp vào nút “Press Me”, màn hình sẽ trông giống như ảnh chụp màn hình bên dưới:
Thêm trang mới vào dự án
Chỉ ứng dụng đơn giản nhất bao gồm một trang. Chúng tôi muốn tìm hiểu cách viết các ứng dụng nhiều trang phức tạp. Chúng ta có thể sử dụng các mẫu Pivot, Toàn cảnh, có thể sử dụng mẫu thiết kế MVVM (Model-View-ViewModel) và trước tiên, chúng ta sẽ tìm hiểu cách thêm các trang mới vào dự án và di chuyển giữa chúng.
Trong cửa sổ Solution Explorer, nhấp vào click chuột phải di chuột qua tên dự án và trong menu xuất hiện, chọn Thêm, sau đó chọn Mục mới, trong hộp thoại mở ra, chọn Trang chân dung Windows Phone và đặt tên là SecondPage.xaml:
Bây giờ chúng ta có một trang XAML trống, bản sao chính xác Trang MainPage.xaml trước khi chúng tôi chỉnh sửa nó.
Để phân biệt rõ hơn giữa các trang, chúng ta vào code XAML của trang SecondPage và chỉnh sửa phần tử TextBlock với Name PageTitle Thuộc tính văn bản như sau:
Điều hướng giữa các trang ứng dụng
Vì vậy, chúng ta có hai trang trong dự án, khi ứng dụng khởi động, trang MainPage.xaml sẽ được hiển thị. Làm cách nào bây giờ tôi có thể chuyển từ MainPage.xaml sang SecondPage.xaml?
Hãy thử hai cách đơn giản để làm điều này.
Trong mã XAML của tệp MainPage.xaml sau mã Nút mà chúng tôi đã thêm trước đó, hãy thêm mã HyperlinkButton như hiển thị bên dưới:
Điều khiển HyperlinkButton có một thuộc tính đặc biệt, NavigateUri, cho phép bạn chỉ định Uri để điều hướng đến. Hãy thêm thuộc tính này với giá trị /SecondPage.xaml, như hiển thị bên dưới:
Hãy khởi chạy ứng dụng (F5).
Khi giao diện ứng dụng hiển thị, nếu chúng ta nhấn vào link Second Page sẽ được đưa đến trang SecondPage.xaml thứ 2 đã được tạo trước đó. Nếu sau đó bạn nhấp vào phần cứng Nút quay lại, sau đó chúng ta sẽ quay lại trang chính (trước đó) - theo mặc định, nút này cho phép bạn đi đến trang hoạt động trước đó.
Bây giờ hãy tận dụng quá trình chuyển đổi có lập trình. Đầu tiên, thêm đoạn mã sau vào phần sử dụng:
Khoảng trống riêng tư MyButton_Click(người gửi đối tượng, RoutedEventArgs e) ( NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative)); )
Khởi chạy ứng dụng (F5) và đảm bảo rằng nút này hoạt động tốt như liên kết.
Hãy thêm các điều khiển và mã vào trang thứ hai (SecondPage.xaml) để cho phép bạn quay lại trang trước.
Trong mã XAML của tệp SecondPage.xaml, bên trong phần tử Lưới có tên ContentPanel, các điều khiển Insert Button và HyperlinkButton, như hiển thị bên dưới:
Để tạo trình xử lý cho sự kiện Click của nút MyButton trên SecondPage, hãy nhấp chuột phải vào văn bản MyButton_Click trong trình chỉnh sửa XAML và chọn Điều hướng đến Trình xử lý sự kiện.
Chạy ứng dụng (F5) và xác minh rằng liên kết "Trang đầu tiên" trên trang thứ hai sẽ trả ứng dụng về MainPage.
Bây giờ hãy tận dụng quá trình chuyển đổi có lập trình. Trong mã trang SecondPage.xaml.cs, hãy thêm mã sau vào phần sử dụng:
Sử dụng System.Windows.Navigation;
Sau đó, thay thế mã xử lý MyButton_Click bằng mã sau:
Khoảng trống riêng tư MyButton_Click(người gửi đối tượng, RoutedEventArgs e) ( NavigationService.GoBack(); )
Chạy ứng dụng (F5) và đảm bảo rằng nút Quay lại trên trang thứ hai sẽ trả ứng dụng về MainPage.
Xin lưu ý rằng trong mã chạy khi nhấn nút, chúng tôi đã không sử dụng tên của trang mà chúng tôi cần truy cập mà yêu cầu dịch vụ điều hướng, được đại diện bởi lớp NavigationService, đi tới trang có trong đó. ngăn xếp điều hướng trước ngăn xếp điều hướng hiện tại.
Các sự kiện chuyển trang có thể được xử lý theo chương trình, chẳng hạn như để kiểm tra với người dùng xem họ có thực sự muốn rời khỏi trang hiện tại hay không.
Thêm mã sau vào tệp SecondPage.xaml.cs ngay sau trình xử lý MyButton_Click:
Ghi đè được bảo vệ void OnNavigatingFrom(NavigatingCancelEventArgs e) ( base.OnNavigatingFrom(e); // Nếu bạn có thể hủy quá trình chuyển đổi, hãy kiểm tra với người dùng xem anh ta có muốn tiếp tục không trang hiện tại if (e.IsCancelable) ( MessageBoxResult result = MessageBox.Show("Có lẽ bạn sẽ ở lại?", "Xác nhận chuyển đổi", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) ( // Người dùng quyết định ở lại e.Hủy = true; quay lại; ) ) )
Mã này đủ đơn giản để bạn có thể tự mình tìm ra.
Khởi chạy ứng dụng (F5) và nhận thấy rằng hộp thoại làm rõ được hiển thị bất kể bạn định quay lại Trang chính bằng cách nhấp vào nút hay theo liên kết.
Bây giờ tất cả những gì còn lại là học cách truyền tham số giữa các trang.
Bấm đúp vào MainPage.xaml để chuyển sang chỉnh sửa trang chính. Trong mã MainPage.xaml, chúng tôi sẽ thêm điều khiển TextBox ở trên Phần tử nút như sau:
Nhấp đúp chuột vào SecondPage.xaml để chuyển sang chỉnh sửa trang chính. Trong mã SecondPage.xaml, hãy thêm điều khiển TextBox phía trên phần tử Nút, giống như trên trang MainPage:
Bây giờ, trong trình xử lý sự kiện MyButton_Click của trang MainPage, hãy thêm tham số vào Uri của quá trình chuyển đổi sang trang thứ hai bằng cách sử dụng nút:
Riêng void MyButton_Click(object sender, RoutedEventArgs e) ( NavigationService.Navigate(new Uri("/SecondPage.xaml?text="+Uri.EscapeDataString(MyTextBox.Text), UriKind.Relative)); )
Và cuối cùng, trong mã của trang SecondPage.xaml.cs, ngay sau trình xử lý OnNavigatedFrom, chúng tôi sẽ thêm một trình xử lý đến vào trang OnNavigatedTo và trong đó chúng tôi sẽ xử lý tham số đến và hiển thị nó trong MyTextBox:
Ghi đè được bảo vệ void OnNavigatedTo(NavigationEventArgs e) ( base.OnNavigatedTo(e); if (NavigationContext.QueryString.ContainsKey("text")) ( MyTextBox.Text = NavigationContext.QueryString["text"].ToString(); ) )
Khởi chạy ứng dụng (F5) và kiểm tra xem nó hoạt động như thế nào, chẳng hạn như khi theo liên kết từ MainPage đến SecondPage.
Kết quả và các bước tiếp theo
Vì vậy, chúng tôi đã tìm ra những gì chúng tôi cần cài đặt để phát triển cho Windows Phone 7, làm quen với các mẫu có sẵn và tìm hiểu cách tạo một ứng dụng mới từ một mẫu. Chúng tôi cũng đã học cách thêm các điều khiển trực tiếp vào mã XAML, thêm các trang mới vào dự án và sắp xếp điều hướng giữa chúng bằng liên kết và trong mã với khả năng truyền tham số.
TRÊN bước tiếp theo Chúng ta sẽ xem xét một số tùy chọn đánh dấu có sẵn trong Silverlight, xem xét các điều khiển cơ bản và tìm hiểu ngữ cảnh đầu vào dành cho trường văn bản.
Có ý kiến cho rằng ở đời thựcđiện thoại thông minh chạy hệ điều hành Microsoft được tìm thấy thường xuyên như những người có tên viết tắt là “Artemovich”. Chính sách kỳ lạ (nói một cách nhẹ nhàng) của “Evil Corporation” đối với họ thứ bảy và thứ tám của hệ điều hành di động đã khiến nhiều người dùng từ bỏ việc thử nghiệm “windows” cho điện thoại thông minh, và giờ đây tập đoàn đã nghiêm túc thực hiện nhiệm vụ này chỉnh sửa hình ảnh của mình trong phân khúc người dùng này. Với tư cách là một người hâm mộ ngầm của Microsoft, tôi hy vọng rằng mọi thứ sẽ suôn sẻ với họ - “top 10” đang diễu hành khắp hành tinh, con át chủ bài chính của nó là cốt lõi cho tất cả các nền tảng và do đó nó có mọi cơ hội để chiếm lấy phần tốt thị trường di động. Và với tư cách là một lập trình viên, tôi sẽ rất vui được làm cho bạn một bài viết giới thiệu về quá trình phát triển cho trục di động này, để bạn luôn sẵn sàng cho sự phát triển về mức độ phổ biến của nó :).
Tổng quan về kiến trúc
Nhờ lõi chung và hệ thống thời gian chạy ứng dụng UWP, sau khi được viết, ứng dụng sẽ chạy trên tất cả các thiết bị trong Kiểm soát cửa sổ 10. Phạm vi này bao gồm:
- máy tính để bàn;
- hệ thống máy chủ - OS máy chủ Windows 2016;
- máy tính xách tay - MS Surface Book;
- máy tính bảng - MS Surface Pro;
- điện thoại thông minh - Lumia;
- máy chơi game - Xbox một;
- kính thực tế tăng cường - MS HoloLens;
- máy tính bảng treo tường - MS Surface Hub;
- đồng hồ thông minh - MS Band 2.
Danh sách này rất ấn tượng. Ngoài ra, UWP không bị giới hạn trong việc thực thi các chương trình ứng dụng, nó còn hỗ trợ hoạt động của trình điều khiển ở cấp kernel. Điều này cho phép bạn tạo trình điều khiển hoạt động trên nhiều thiết bị khác nhau, với điều kiện là thành phần cụ thể mà trình điều khiển dự định sử dụng phải giống nhau.
UWP hỗ trợ cả trình điều khiển cấp kernel và cấp người dùng. Hệ thống con bao gồm các giao diện trình điều khiển thiết bị (DDI), trong đó trình điều khiển cho UWP có thể sử dụng.
Nhưng tất cả những điều này không ngăn cản nhà phát triển điều chỉnh giao diện cho phù hợp với các nền tảng và độ phân giải màn hình nhất định. Trong một số trường hợp đặc biệt, điều này có thể không cần thiết.
Những công cụ phát triển
Để viết, gỡ lỗi, triển khai và thử nghiệm các ứng dụng cho Windows 10 Mobile, bạn sẽ cần Visual Studio 2015 (ai sẽ nghi ngờ điều đó). Mùa hè này bản cập nhật thứ ba đã được phát hành. Tôi thực sự khuyên bạn nên nó! Sửa lỗi chính của nó là giảm mức tiêu thụ bộ nhớ so với bản cập nhật thứ hai.
Bạn cũng sẽ cần Windows 10 Cập nhật kỷ niệm SDK: nó bao gồm mọi thứ công cụ cần thiếtđể phát triển ứng dụng cho toàn bộ nhóm thiết bị chạy Windows 10. Nếu bạn đang sử dụng VS 2015 với bản cập nhật thứ ba thì nó đã bao gồm SDK mới nhất.
Một trong những cải tiến chính là Windows Ink. Sử dụng API này, bạn có thể thêm hỗ trợ bút bằng hai dòng mã. Có hai đối tượng điều khiển cho việc này: InkCanvas và InkToolbar.
API Cortana mới giúp thực hiện điều khiển bằng giọng nói dễ dàng hơn. Thành phần Hành động Cortana trong API mới cho phép bạn tạo các cụm từ/biểu thức mới.
Xác thực sinh trắc học Windows Hello hiện có sẵn cho các nhà phát triển web trong trình duyệt Edge.
Blend for Visual Studio 2015, một công cụ tạo mô hình giao diện người dùng, cung cấp khả năng thiết kế giao diện người dùng nâng cao so với VS. Với sự trợ giúp của nó, bạn có thể tạo bố cục trong XAML cho tất cả các ứng dụng được hỗ trợ: ứng dụng, web, phổ thông, thiết bị di động, v.v. Nó cũng chứa các hàm tạo cho Nhiệm vụ bổ sung, trong số đó có việc tạo hoạt ảnh và kiểm soát hành vi của các phần tử.
Những cách tạo ứng dụng cho Windows 10 Mobile
Cách chính để tạo ứng dụng cho điện thoại thông minh với Windows 10 Mobile là phát triển Ứng dụng phổ quát (UWP)(Cuộn Visual C# → Windows → Trình hướng dẫn dự án mới toàn cầu).
Tuy nhiên, anh không phải là người duy nhất. Như bạn đã biết, Xamarin được tích hợp sẵn trong Visual Studio 2015, với sự trợ giúp của nó, bạn cũng có thể tạo ứng dụng cho Windows 10 Mobile, đồng thời cho Android và iOS, thay đổi giao diện và để logic chương trình trong C# (Visual C# → Cross-Platform).
Ngoại trừ Ngôn ngữ hình ảnh C#, có thể được chọn như nhau Ngôn ngữ lập trình hoặc Visual C++. VS 2015 cho phép bạn tạo các ứng dụng đa năng với sử dụng JavaScript(JavaScript → Windows → Ứng dụng phổ quát). Chúng cũng có thể được triển khai trên thiết bị Windows 10 Mobile.
Công cụ làm việc với các dự án cũ
Trải qua lịch sử lâu dài của phòng mổ Hệ thống Windows Một số lượng lớn các ứng dụng khác nhau đã được tạo ra cho nó. VỚI Bản phát hành Windows 8 và WinRT (và sau này là Windows 10 và UWP), các ứng dụng cổ điển cũ đã là quá khứ, vì chỉ có Win 8 và Win 10 trên máy tính để bàn mới hỗ trợ các ứng dụng Win32, COM, .NET cổ điển. Điều này khiến Microsoft buồn. Nhưng họ nhận ra rằng họ có thể phát triển một bộ chuyển đổi có thể chuyển đổi các ứng dụng cũ sang hệ thống con UWP nâng cao mới. Từ đây ra đời Trình chuyển đổi ứng dụng máy tính để bàn.
Việc chuyển đổi dự án Xcode được thực hiện theo hai bước. Đầu tiên bạn cần thêm tô sáng cú pháp Ngôn ngữ Objective-C trong Visual Studio: cài đặt tiện ích mở rộng objc-syntax-highlighting.vsix từ thư mục winobjc\bin. Sau đó sử dụng tiện ích dòng lệnh vsimporter.exe cần chuyển đổi dự án Xcode thành dự án VS. Sau đó, tệp sln kết quả có thể được mở trong studio, nơi cú pháp Objective-C sẽ được đánh dấu. Bạn có thể xây dựng và chạy ứng dụng, nó sẽ chạy giống như tất cả các chương trình Windows khác.
Chết tiệt, thật tuyệt vời khi thấy mã Objective-C được tô sáng chính xác trong Visual Studio!
Một trình biên dịch miễn phí được sử dụng để biên dịch mã Obj-C Kêu vang. Vì đầu ra là một ứng dụng UWP tiêu chuẩn nên nó có thể chạy trên thiết bị di động trong Windows 10 Mobile. Một chương trình có thể chứa mã bằng C++ và Obj-C.
![](https://i1.wp.com/xakep.ru/wp-content/uploads/2016/10/1477467842_113d_teapot.jpg)
Nếu bạn có một dự án cho phiên bản trước Windows Phone, tức là 8.1 (hoặc 8.0), sau đó khi bạn mở nó trong VS 2015, studio sẽ tự động cập nhật dự án để đáp ứng các yêu cầu của Universal Windows App (UWP). Không chỉ đánh dấu giao diện người dùng trong XAML sẽ được chuyển đổi mà cả logic chương trình trong JS/C++/C#/VB cùng với nó sẽ được chuyển đổi. Nếu có lệnh gọi tới hệ thống con WinRT trong mã thì chúng sẽ được chuyển đổi thành lệnh gọi UWP.
Có một loại ứng dụng phổ biến khác - trò chơi. Kết xuất iOS và Android bằng giao diện OpenGL cấp thấp. Mặt khác, trên Windows 10 Mobile, DirectX 11 lại được sử dụng để hiển thị hình ảnh trong game nên dẫn đến tình trạng không tương thích. Nhưng có một giải pháp - dự án nguồn mở ANGLE. ANGLE (Công cụ lớp đồ họa gần như gốc) - công cụ lớp đồ họa gần như gốc - cho phép Người dùng Windows Chạy liền mạch các ứng dụng OpenGL ES trên phần cứng chạy DirectX 11. Điều này đạt được bằng cách chuyển đổi lệnh gọi từ API OpenGL ES sang API DirectX 11. ANGLE hỗ trợ đầy đủ ba loại ứng dụng sau:
- ứng dụng phổ quát cho Windows 10 (Ứng dụng Windows phổ quát);
- ứng dụng cho Windows 8.1 và Windows Phone 8.1;
- ứng dụng máy tính để bàn Windows cổ điển ( Máy tính để bàn Windows các ứng dụng).
Vấn đề này sẽ được thảo luận chi tiết hơn trong cuốn sách “Sự kỳ diệu của mô-men xoắn” của tôi (một lần nữa, bạn đang quảng cáo cuốn sách của mình! Được rồi, bạn xứng đáng với điều đó. - Ed.).
Tiếp tục chỉ có sẵn cho người đăng ký
Tùy chọn 1. Đăng ký Hacker để đọc tất cả tài liệu trên trang web
Đăng ký sẽ cho phép bạn đọc MỌI THỨ trong khoảng thời gian được chỉ định tài liệu trả phíđịa điểm. Chúng tôi chấp nhận thanh toán thẻ ngân hàng, tiền điện tử và chuyển khoản từ tài khoản của nhà cung cấp dịch vụ di động.
Với việc phát hành Windows 8, các nhà phát triển đã được cung cấp đầy đủ kiểu mớiứng dụng - ứng dụng trong Phong cách hiện đại giao diện người dùng Nó mới thế nào? Ứng dụng tương tựđã được phát triển cho Windows Phone. Những ứng dụng này không có điểm chung nào với các ứng dụng Windows quen thuộc. Những ứng dụng như vậy không tương thích với những phiên bản trước Windows có giao diện hoàn toàn mới (Modern) và một giao diện mới được sử dụng để phát triển API WinRT(API thời gian chạy Windows) và Windows XAML(ngôn ngữ đánh dấu giao diện).
Không có vấn đề gì khi chỉ viết phiên bản Windows 8 cho ứng dụng của bạn, tuy nhiên, nếu bạn cần viết một ứng dụng không chỉ cho Windows mà còn cho cả Windows Phone, bạn phải vượt qua một số khó khăn nhất định. Vấn đề là Windows Phone sử dụng Ánh sáng bạc và Windows Phone API, trong khi Windows 8 sử dụng Windows XAML và API WinRT. Họ có một số khác biệt đáng kể.
Đối với một người thiếu hiểu biết, có vẻ như điều này không gây ra bất kỳ vấn đề gì, mặc dù trên thực tế, mỗi phiên bản của ứng dụng phải được viết hoàn toàn từ đầu. Đây chính xác là những gì nó là vấn đề chính, vì khối lượng công việc cần phải làm là rất lớn. Không, tất nhiên có nhiều cách để thống nhất một số phần của ứng dụng, nhưng chúng rất khó đối với nhà phát triển mới làm quen.
Microsoft đã biết về vấn đề này và trong một khoảng thời gian dàiđang nghiên cứu một giải pháp. Kết quả của công việc này là cái gọi là ứng dụng windows phổ quát(Universal Windows Apps), có sẵn bắt đầu với Windows 8.1 Update 1 và Windows Phone 8.1 (sẽ có sẵn để cài đặt trên tất cả các thiết bị Windows Phone 8 vào cuối mùa hè). Người ta có thể cho rằng giờ đây các ứng dụng sẽ hoạt động mà không cần biên dịch lại trên cả Windows và Windows Phone, nhưng điều này không hoàn toàn đúng.
Mỗi ứng dụng vẫn sẽ được tạo và biên dịch riêng cho từng nền tảng nhưng khối lượng công việc cần thực hiện hiện đã giảm đáng kể. Có điều là Microsoft cuối cùng đã thống nhất hầu hết các API cho Windows và Windows Phone. Hầu hết các thay đổi được thực hiện đối với Phía cửa sổĐiện thoại. Từ giờ trở đi, WinRT API và Windows XAML được dùng để viết ứng dụng cho hai nền tảng này (sắp tới sẽ có ba nền tảng, Xbox One nữa). Tất nhiên, Silverlight quen thuộc dành cho Windows Phone vẫn chưa biến mất và thậm chí còn có thêm một số Tính năng bổ sung, nhưng đó không phải là điều chúng ta đang nói đến bây giờ.
Các ứng dụng phổ quát hiện sử dụng khung Thực thi Windows(cùng Windows Runtime). Những đổi mới này cho phép lập trình viên giảm thiểu mã phụ thuộc vào nền tảng vì hầu hết các lệnh gọi tới API đều giống nhau.
Ứng dụng thử nghiệm
Hôm nay tôi khuyên bạn nên thử viết một ứng dụng phổ quát đơn giản, có tên là "Chào thế giới!". Chúng tôi sẽ viết bằng ngôn ngữ C#(cần có ít nhất kiến thức cơ bản về ngôn ngữ và XAML). Để làm điều này, chúng tôi cần tối thiểu:
Windows 8.1 (x86)
Nó khá tối thiểu. Với bộ công cụ này, bạn có thể phát triển một ứng dụng phổ quát và gỡ lỗi phiên bản Windows của nó trên máy tính của mình. máy tính hiện tại. Bạn chỉ có thể gỡ lỗi phiên bản Windows Phone của ứng dụng trên thiết bị thực (và cần có tài khoản nhà phát triển).
Để có thể gỡ lỗi ứng dụng của bạn trong trình giả lập Windows Phone, bạn sẽ cần:
Windows 8.1 Chuyên nghiệp (x64)
Bộ xử lý có hỗ trợ ảo hóa phần cứng cho máy khách Hyper-V (ngay cả Celeron G1610 bình dân và thậm chí cả Pentium 4 trên LGA775 đều phù hợp)
Visual Studio Express 2013 dành cho Windows Update 2
Với bộ công cụ này, bạn sẽ có thể phát triển ứng dụng của mình một cách đầy đủ hơn và thử nghiệm nó trong nhiều chế độ khác nhau bằng cách sử dụng trình mô phỏng máy tính bảng Windows và Trình giả lập WindowsĐiện thoại.
tôi sẽ sử dụng Visual Studio Ultimate 2013 và tôi sẽ hiển thị mọi thứ trên đó. Đừng lo lắng, từ chuyển phát nhanh miễn phí giao diện thực tế giống nhau. Hãy bắt đầu nào!
Toàn cầu "Xin chào thế giới!"
Hãy khởi chạy Visual Studio và tạo một dự án mới.
Trong chuong "Các ứng dụng cửa hàng Windows» Có nhiều mẫu khác nhauứng dụng cho cả Windows và Windows Phone. Chúng tôi quan tâm đến các ứng dụng phổ quát, các mẫu của chúng có sẵn trong một tiểu mục đặc biệt.
Có hai tùy chọn để bạn lựa chọn: một ứng dụng trống và một ứng dụng có Hub (đây là một cách điều khiển thú vị). Hãy tập trung vào một ứng dụng trống, bởi vì chúng ta vẫn đang tìm hiểu và chưa nên đi sâu vào vấn đề này ngay lập tức. Hãy bắt đầu với sự đơn giản.
Nhập tên cho ứng dụng đang được tạo. Tôi đã gọi cho anh ấy "UniversalHelloWorld", rõ ràng và chính xác. Bấm OK và đợi trong khi Visual Studio tạo dự án. Chúng ta hãy nhìn vào cấu trúc của dự án được tạo ra.
Toàn bộ dự án được chia thành Ba phần:
Windows - chứa mã và các thành phần chỉ có sẵn cho phiên bản Windows của ứng dụng
Windows Phone - chỉ chứa mã và các thành phần có sẵn Các phiên bản Windows Phone các ứng dụng
Được chia sẻ - chứa mã và các thành phần có sẵn cho hai nền tảng cùng một lúc
Xin lưu ý rằng trên khoảnh khắc này Chỉ có một yếu tố chung: Ứng dụng.xaml(và App.xaml.cs). Phần tử này chịu trách nhiệm khởi động và dừng ứng dụng.
Bạn đã có thể thử khởi chạy ứng dụng. Và để làm điều này, nhấn F5. Để ngừng gỡ lỗi, hãy quay lại Visual Studio và nhấp vào "Shift+F5". Bạn sẽ thấy một màn hình trống. Phiên bản Windows của ứng dụng sẽ được khởi chạy ban đầu. Để chọn phiên bản ứng dụng nào sẽ chạy, hãy tìm nút gỡ lỗi (hình tam giác màu xanh lá cây) trên thanh công cụ.
Tại đây bạn có thể chọn nơi chạy gỡ lỗi ứng dụng của mình. Trình mô phỏng mô phỏng một máy tính bảng Windows, trên đó bạn có thể thay đổi hướng, độ phân giải màn hình và những thứ khác. Cái nút " Máy tính điều khiển từ xa» được thiết kế để chạy gỡ lỗi trên Windows bên ngoài 8 thiết bị. Tôi sử dụng Surface RT cho những mục đích này.
Hãy quay lại việc thay đổi phiên bản đang chạy. Trong menu con "Bắt đầu dự án" bạn có thể chọn "Windows Phone 8.1". Sau đó, nội dung của menu cơ bản sẽ thay đổi và nhiều trình giả lập sẽ có sẵn cho bạn lựa chọn.
Chọn trình giả lập mong muốn của bạn và bắt đầu gỡ lỗi. Khi trình mô phỏng khởi động, bạn sẽ thấy một màn hình trống của ứng dụng. Sau khi quá trình gỡ lỗi hoàn tất, bạn không cần phải đóng trình mô phỏng nữa.
Mặc dù mỗi phiên bản của ứng dụng có một phiên bản riêng trang chủ MainPage.xaml. Vì ứng dụng của chúng tôi rất đơn giản nên chúng tôi không cần thiết kế khác nhau trang trên mỗi nền tảng. Di chuyển MainPage.xaml đến phần Chia sẻ, sau đó xóa nó khỏi Phân vùng Windows và WindowsPhone. Cấu trúc dự án sẽ như thế này:
Khai mạc tập tin này, bạn sẽ thấy đất nước này trong biên tập trực quan, cũng như mã đánh dấu của nó. Cho đến nay chúng tôi có đoạn mã sau:
Nó chỉ tạo lưới gốc của trang, được tô bóng màu chuẩn trang. Hãy thêm dòng chữ cùng tên và nút chào mừng vào trang. Đặt phần tử TextBlock vào Lưới. Mã phần tử sẽ là:
Để xem trang trông như thế nào ở chế độ máy tính bảng/máy tính để bàn và điện thoại, hãy sử dụng danh sách thả xuống phía trên trình chỉnh sửa mã.
Chúng tôi cũng sẽ thêm một nút vào trang sẽ hiển thị cho chúng tôi một thông báo nhỏ. Mã cho nút này là:
Hãy thêm trình xử lý sự kiện nhấp chuột cho nút này. Để thực hiện việc này, hãy bấm đúp vào nút và bạn sẽ tự động được đưa đến trình soạn thảo mã C#. Một trình xử lý trống được tạo tự động.
Bài viết và Lifehacks
Người dùng trên khắp thế giới có thể tạo trò chơi và các nội dung khác chương trình tương tác cho nền tảng này. Tuy nhiên, sau đó cách tạo ứng dụng cho Windows Phone, cũng như khả năng xảy ra thì ít người biết. Cần hiểu rằng đây là một quá trình rất phức tạp và tốn thời gian, và để thành thạo quá trình phát triển, trước tiên bạn cần phải đăng ký đào tạo đặc biệt trong một thời gian dài.
Người mới bắt đầu thành thạo việc tạo trò chơi và ứng dụng trên WP cần biết điều gì? Bài viết của chúng tôi dành cho chuỗi hành động mà quá trình phát triển bao gồm, các tính năng tạo giao diện người dùng cũng như sử dụng trực tiếp các khả năng của chính nền tảng.
Trình tự phát triển ứng dụng cho Windows Phone và các tính năng tạo giao diện người dùng của nó
Sự phát triển của bất kỳ ứng dụng nào phải luôn bắt đầu bằng việc tạo ấn tượng tốt. Nói cách khác, bạn sẽ cần tạo một giao diện người dùng tốt (hay còn gọi là XAML) trông rõ ràng và hấp dẫn, sau đó bắt đầu thêm các tính năng. Giai đoạn thứ ba sẽ là thử nghiệm ứng dụng.
Trước khi thiết kế giao diện người dùng, bạn sẽ cần tìm hiểu cách chọn giữa các bề mặt cho chương trình của mình (bạn có thể tìm thấy chúng thông qua Windows Store), tạo bố cục, thêm nội dung và các điều khiển cần thiết. Hãy nhớ tải xuống tài nguyên thiết kế từ Cửa hàng.
Vì vậy, quá trình tạo giao diện bắt đầu bằng việc tạo bố cục. Có thể sử dụng nhiều loại bề mặt khác nhau, ví dụ: những hộp thoại hoặc các yếu tố bật lên khác nhau. Tùy thuộc vào yếu tố nào được sử dụng, ứng dụng sẽ đơn giản và dễ hiểu hoặc phức tạp. Bất kỳ ứng dụng Windows nào cũng sử dụng một bộ nút đặc biệt (chẳng hạn như “Gửi”, “Tìm kiếm”, “Tùy chọn”, v.v.), ngược lại, có lẽ quen thuộc với mọi người.
Nếu có lỗi trong ứng dụng, bạn có thể tìm hiểu về chúng thông qua một trong ba bề mặt chính. Một thông báo lỗi được hiển thị.
Bất kỳ ứng dụng nào cũng cần có các điều khiển, chẳng hạn như danh sách hoặc nút thả xuống. Tất cả chúng đều có thể được sử dụng nhờ các chương trình đặc biệt từ Windows Store (ví dụ: trong Visual Basic hoặc C++) và chúng cũng được sử dụng khi tạo giao diện.
Để nhà phát triển có thể thử nghiệm ứng dụng của mình trên thiết bị di động thực, anh ta sẽ cần phải mở khóa.
Sử dụng Nền tảng Windows Phone để tạo ứng dụng
Ngay lần đầu làm quen với nền tảng WP, người dùng chắc chắn phải đảm bảo rằng mình không chỉ kiến thức cần thiết, mà còn bằng các công cụ đặc biệt. Điều này có thể bao gồm, ví dụ, Gói Windows SDK điện thoại (dễ tải xuống từ App Hub), Visual Studio 2010 (Phiên bản chuyên nghiệp trở lên), môi trường phần mềm XNA Xưởng trò chơi 4.0, trình thiết kế tương tác trực quan Expression Blend (dành cho WP), Trình mô phỏng Windows Phone và các công cụ bổ sung khác.
Trước khi bắt đầu hiểu cách tạo một ứng dụng cho Windows Phone, bạn cần nghiên cứu kỹ tất cả các tính năng chính của nền tảng này - đặc biệt là các điều khiển của nó (WebBrowser và Map), các tác vụ lựa chọn và khởi chạy (tương ứng là Trình chọn và Trình khởi chạy), và làm việc với hệ thống gia tốc kế và định vị địa lý. Một số dịch vụ định vị địa lý nhất định có sẵn trên thiết bị di động sử dụng thông tin nhận được qua Wi-Fi, GPS và thông tin di động.
Bên cạnh đó khả năng phần mềm, nhà phát triển cũng có quyền truy cập vào các khả năng phần cứng của nền tảng. Sau khi tạo ứng dụng định vị địa lý ExploreMapControl, người dùng sẽ có thể thêm các chức năng đo gia tốc vào ứng dụng đó bằng cách chỉ định lệnh chính xác.