Язык разработки windows приложений

Приступая к работе: Выбор языка программирования Getting started: Choosing a programming language

Выбор языка программирования Choosing a programming language

Прежде чем продолжить, необходимо узнать, какие языки программирования можно выбрать при создании приложений универсальной платформы Windows (UWP). Before we go any further, you should know about the programming languages that you can choose from when you develop Universal Windows Platform (UWP) apps. В пошаговых руководствах этой статьи используется язык C#, однако для создания приложений UWP вы можете использовать один или несколько других языков программирования (см. Языки, средства и платформы). Although the walkthroughs in this article use C#, you can develop UWP apps using one or more programming languages (see Languages, tools and frameworks).

Для разработки можно использовать языки C++, C#, Microsoft Visual Basic и JavaScript. You can develop using C++, C#, Microsoft Visual Basic, and JavaScript. JavaScript использует разметку HTML5 для макета пользовательского интерфейса, а другие языки для описания пользовательских интерфейсов используют разметку XAML. JavaScript uses HTML5 markup for UI layout, and the other languages use a markup language called Extensible Application Markup Language (XAML) to describe their UI.

Хотя в этой статье используется язык программирования C#, следует отметить, что остальные языки предоставляют уникальные преимущества, которыми вы, возможно, захотите воспользоваться. Although we’re focusing on C# in this article, the other languages offer unique benefits, which you may want to explore. Например, если для вашего приложения первоочередной задачей является производительность (особенно это касается приложений, требовательных к графическим ресурсам), рекомендуем выбрать язык C++. For example, if your app’s performance is a primary concern, especially for intensive graphics, then C++ might be the right choice. Для разработчиков приложений на Visual Basic наилучшим образом подойдет Visual Basic версии Microsoft .NET. The Microsoft .NET version of Visual Basic is great for Visual Basic app developers. Веб-разработчики по достоинству оценят JavaScript с HTML5. JavaScript with HTML5 is great for those coming from a web development background. См. также следующие разделы. For more info, see one of the following:

Примечание. Для приложений, использующих трехмерную графику: стандарты OpenGL и OpenGL ES, по умолчанию не являются доступными для приложений UWP. Note For apps that use 3D graphics, the OpenGL and OpenGL ES standards are not natively available for UWP apps. Если вы не желаете переписывать код OpenGL ES в Microsoft DirectX, возможно, вам будет интересно узнать о проекте Angle. If you would rather not rewrite your OpenGL ES code into Microsoft DirectX, you may be interested to know about Angle. Angle — это текущий проект, предназначенный для преобразования OpenGL в DirectX путем перевода вызовов API OpenGL в вызовы API DirectX. Angle is an on-going project designed to convert OpenGL to DirectX by translating OpenGL API calls into DirectX API calls. См. также: To learn more, see the following:

Попробуйте C# Giving C# a go

Как разработчик iOS, вы привыкли использовать Objective-C и Swift. As an iOS developer, you’re accustomed to Objective-C and Swift. Среди языков программирования Майкрософт наиболее близким к обеим является C#. The closest Microsoft programming language to both is C#. Мы считаем, что для разработчиков наиболее простым в изучении и использовании является C#, поэтому для пошаговых руководств выбран именно этот язык. For most developers and most apps, we think C# is the easiest and fastest language to learn and use, so this article’s info and walkthroughs focus on that language. Подробнее о языке C#: To learn more about C#, see the following:

Ниже приведен класс, написанный на языках Objective-C и C#. Following is a class written in Objective-C and C#. Вариант на Objective-C показан первым, а вариант на C# — вторым. The Objective-C version is shown first, followed by the C# version.

Теперь для версии C#. Now, for the C# version. Вы увидите, что аналогично Swift, для заголовка и реализации не используются отдельные файлы. You’ll see that like Swift, the header and the implementation are not in separate files.

C# — это простой язык для выбора. Он содержит много классов и платформ поддержки, составляющих .NET. C# is an easy language to pick up, and comes with the many support classes and frameworks that make up .NET. Вы с радостью мгновенно приступите к написанию кода без квадратной скобки перед глазами! In no time, you’ll be happily writing your code without a square bracket in sight!

Читайте также:  Windows zver сброс пароля

Создание классических приложений для компьютеров с Windows Build desktop apps for Windows PCs

Эта статья содержит сведения, необходимые, чтобы приступить к созданию классических приложений для Windows или обновления существующих классических приложений для использования новейших возможностей Windows 10 This article provides the info you need to get started building desktop apps for Windows or updating existing desktop apps to adopt the latest experiences in Windows 10.

Платформы для классических приложений Platforms for desktop apps

Существуют четыре основные платформы для создания классических приложений для компьютеров с Windows. There are four main platforms for building desktop apps for Windows PCs. Каждая платформа предоставляет модель приложения, определяющую жизненный цикл приложения, полную инфраструктуру пользовательского интерфейса и набор элементов управления пользовательского интерфейса, которые позволяют создавать классические приложения, такие как Word, Excel и Photoshop, и получать доступ к исчерпывающему набору управляемых или собственных API-интерфейсов для использования функций Windows. Each platform provides an app model that defines the lifecycle of the app, a complete UI framework and set of UI controls that let you create desktop apps like Word, Excel, and Photoshop, and access to a comprehensive set of managed or native APIs for using Windows features.

Подробное сравнение этих платформ и дополнительные материалы по каждой платформе доступны в разделе Выбор платформы для приложения. For an in-depth comparison of these platforms along with additional resources for each platform, see Choose your app platform.

Передовая платформа для приложений и игр для, предназначенных для Windows 10. The leading-edge platform for Windows 10 apps and games. Вы можете создавать приложения UWP, которые используют только элементы управления и интерфейсы API универсальной платформы Windows (UWP), или использовать эти элементы управления и API в классических приложениях, созданных с помощью одной из других платформ. You can build UWP apps that exclusively use UWP controls and APIs, or you can use UWP controls and APIs in desktop apps that are built using one of the other platforms.

Предпочтительная платформа для собственных приложений для Windows, которым требуется прямой доступ к Windows и оборудованию. The platform of choice for native Windows apps that require direct access to Windows and hardware.

Общепризнанная платформа на основе .NET для преимущественно графических приложений для Windows, использующих модель пользовательского интерфейса XAML. The established .NET-based platform for graphically-rich managed Windows apps with a XAML UI model. Эти приложения могут быть нацелены на .NET Core 3 или полную платформу .NET Framework. These apps can target .NET Core 3 or the full .NET Framework.

Платформа на основе .NET, предназначенная для управляемых бизнес-приложений, использующих упрощенную модель пользовательского интерфейса. A .NET-based platform that is designed for managed line-of-business apps with a lightweight UI model. Эти приложения могут быть нацелены на .NET Core 3 или полную платформу .NET Framework. These apps can target .NET Core 3 or the full .NET Framework.

Стратегия развития Future roadmap

В будущем мы планируем улучшать платформы разработки приложений для Windows с помощью библиотеки пользовательского интерфейса Windows (WinUI) и Project Reunion. Looking forward, we are evolving the Windows app development platforms with the Windows UI Library (WinUI) and Project Reunion.

WinUI — это собственная среда взаимодействия с пользователем для приложений Windows 10. WinUI is a native user experience (UX) framework for Windows 10 apps. Библиотека WinUI разрабатывалась как набор средств. Она предоставляла новые и обновленные версии элементов управления WinRT для приложений UWP, предназначенных для более ранних версий Windows 10. WinUI started as a toolkit that provides new and updated versions of WinRT controls for UWP apps that target down-level versions of Windows 10. Область действия WinUI расширилась, и WinUI 3 представляет собой современную нативную платформу пользовательского интерфейса для приложений Windows 10 в UWP, .NET и Win32. As of WinUI 3, WinUI is growing in scope to become the premier native user interface (UI) framework for Windows 10 apps across UWP, .NET, and Win32 app platforms.

Project Reunion — это кодовое название для широкого спектра новых компонентов и инструментов для разработчиков. Это новый этап развития платформы для разработки приложений Windows. Project Reunion is the code name for a broad set of new developer components and tools that represents the next evolution in the Windows app development platform. Project Reunion включает единый набор API и инструментов, которые могут согласованно использоваться любыми приложениями в различных целевых версиях ОС Windows 10. Project Reunion provides a unified set of APIs and tools that can be used in a consistent way by any app on a broad set of target Windows 10 OS versions. Project Reunion дополняет имеющиеся платформы и среды приложений Windows, такие как UWP, нативная среда Win32 и .NET, общим набором API и инструментов, которые упрощают работу разработчиков. Project Reunion complements existing Windows app platforms and frameworks such as UWP and native Win32, and .NET with a common set of APIs and tools that developers can rely on across these platforms.

Дополнительные сведения см. в статье Project Reunion. For more information, see Project Reunion.

Обновление существующих классических приложений для Windows 10 Update existing desktop apps for Windows 10

Если у вас есть классические приложения WPF, Windows Forms или собственные классические приложения Win32, в Windows 10 и универсальной платформе Windows (UWP) предлагается много возможностей для реализации современных функций в имеющихся приложениях. If you have an existing WPF, Windows Forms, or native Win32 desktop app, Windows 10 and the Universal Windows Platform (UWP) offer many features you can use to deliver a modern experience in your app. Большинство этих функций доступны в виде модульных компонентов, которые можно внедрить в приложение в своем собственном темпе, не переписывая код приложения для другой платформы. Most of these features are available as modular components that you can adopt in your app at your own pace without having to rewrite your app for a different platform.

Ниже приведено лишь несколько функций, позволяющих улучшить существующие классические приложения. Here are just a few of the features available to enhance your existing desktop apps:

  • Используйте MSIX для упаковки и развертывания классических приложений. Use MSIX to package and deploy your desktop apps. MSIX — это современный формат пакета приложения для Windows, позволяющий упаковывать любые приложения для Windows. MSIX is a modern Windows app package format that provides a universal packaging experience for all Windows apps. Этот безопасный и надежный формат упаковки сочетает в себе преимущества технологий установки с использованием MSI-файлов, APPX-файлов, App-V и ClickOnce. MSIX brings together the best aspects of MSI, .appx, App-V and ClickOnce installation technologies and is built to be safe, secure, and reliable.
  • Интегрируйте возможности Windows 10 в свое классическое приложение с помощью расширений пакетов. Integrate your desktop app with Windows 10 experiences by using package extensions. Например, закрепите свое приложение в меню «Пуск», предоставьте к нему общий доступ или отправляйте всплывающие уведомления из приложения. For example, point Start tiles to your app, make your app a share target, or send toast notifications from your app.
  • Используйте острова XAML для размещения элементов управления XAML UWP в своем классическом приложении. Use XAML Islands to host UWP XAML controls in your desktop app. Многие последние функции пользовательского интерфейса Windows 10 доступны только для элементов управления XAML UWP. Many of the latest Windows 10 UI features are only available to UWP XAML controls.

Дополнительные сведения доступны в приведенных ниже статьях. For more information, see these articles.

Платформа Platform Описание Description Документация и ресурсы Docs and resources
Универсальная платформа Windows (UWP) Universal Windows Platform (UWP)
Статья Article Описание Description
Модернизация классических приложений Modernize desktop apps Описываются последние возможности разработки для Windows 10 и UWP, которые можно использовать в любом классическом приложении, включая приложения WPF, Windows Forms и приложения Win32 на C++. Describes the latest Windows 10 and UWP development features you can use in any desktop app, including WPF, Windows Forms, and C++ Win32 apps.
Руководство. Модернизация приложения WPF Tutorial: Modernize a WPF app Следуйте пошаговым инструкциям, чтобы модернизировать существующий пример бизнес-приложения WPF, добавив элементы управления рукописным вводом и календарем UWP в приложение и упаковав его в пакет MSIX. Follow step-by-step instructions to modernize an existing WPF line-of-business sample app by adding UWP Ink and calendar controls to the app and packaging it in an MSIX package.

Создание классических приложений Create new desktop apps

Ниже приведены некоторые ресурсы, которые помогут вам приступить к созданию классического приложения для Windows. If you are creating a new desktop app for Windows, here are some resources to help get you started.

Своя программа для Windows. C# очень простыми словами.

Раньше я рассказал самые основы программирования (на любом языке), рассказал как установить среду разработки Visual Studio и где найти самую полную документацию по языку C# . В той статье был рассмотрен пример консольного приложения, использующего самые базовые элементы языка. К этому моменту у Вас должна быть установлена Visual Studio, а также Вы должны знать что такое переменные, условия и циклы.

Если для управления программой используются кнопки, переключатели, поля ввода и вывода, а также многие другие элементы, которые привычны нам по используемым в ОС Windows программам, то говорят, что используется оконный интерфейс , а сами эти элементы называют элементами интерфейса . Делать такие программы мы сейчас и научимся.

Запускаем Visual Studio, она предложит открыть старый или сторонний проект. В правом нижнем углу этого окошка выбираем «Начать без кода». Далее заходим в меню Файл->Создать->Проект и создаём проект «Приложение Windows Forms (.NET Framework)» для языка C# .

Учтите, что если хотите, чтобы Ваша программа работала на Windows XP — поменяйте платформу на NET Framework версии 3.5. Для Windows 10 — выбирайте самую свежую (она будет стоять по-умолчанию). Тут надо сказать пару слов про то, что такое NET Framework.

Что такое NET Framework

В программировании два понятия «.Net» (читается «Дот Нэт») и «Framework» (читается «Фрэймворк») встречаются довольно часто. Фрэймворк — это большая группа инструментов, которая позволяет экономить время на написание того, что уже кто-то написал раньше (более мелкая группа инструментов называется библиотека или либа ). .NET — это предложенный компанией Microsoft способ выполнения программного кода, призванный максимизировать совместимость с другими их продуктами, в том числе с ОС Windows. Мы выбрали тип приложения «Приложение Windows Forms (.NET Framework)» потому что он наиболее эффективный по трудозатратам исходя из конкретной задачи. NET Framework позволяет использовать в готовом виде, а не писать самому классы Windows Forms, например такие как окно программы или кнопка. При этом не надо будет опасаться непредвиденных ситуаций или плохой совместимости с ОС Windows.

Перед тем как начнём немного о функциях, процедурах и методах

Помните, в школе были функции, например y=2x+1 , в них при изменении х меняется значение у . Практически во всех языках программирования существуют функции. Если они только выполняют действия, но не возвращают результат, тогда их называют процедурами . В объектно-ориентированном программировании, функция общая для множества объектов (например дыхание для всех людей) называется методом . В языке C# не может что-то выполняться вне объектов, поэтому в нём эти три слова равнозначны, потому что все они на самом деле — методы .

И что такое классы в программировании

В примере с дыханием людей метод дыхания присущ не только людям, но и всем живым существам. Продолжая аналогию можно сказать, что живые существа — это класс со своим набором атрибутов (спит или бодрствует, стоит или движется, возраст) методов (размножение, дыхание, питание). У него есть дочерние классы (собачки, рыбы, люди) с общими методами родительского класса , но и собственными. А вот разные люди будут объектами класса «человек»: у каждого своё имя, у всех разный рост и возраст, но они всё равно все люди и ходят на двух ногах, а летать не умеют.

Например так в C# , и картинка ( PictureBox ) и кнопка ( Button ) унаследовали от родительского класса ( элемента управления ) такие свойства как ширина ( Width ) или видимость ( Visible ), методы выделить ( Select() ) или масштабировать ( Scale(SizeF) ). Для всех элементов управления при вызове метода OnClick() произойдёт событие Click , но использовать картинку в качестве кнопки хоть и можно, но сродни забиванию гвоздя плоскогубцами. Картинку можно сохранить в файл, а кнопка имеет отдельный стиль для нажатого состояния. Если нужен свой особенный инструмент, для конкретной узкой задачи, то его можно создать.

Создание пользовательского интерфейса

Допустим моя программа должна делать следующее:

1) Пользователь рисует что-то мышкой (символ) и затем выбирает букву на клавиатуре.

2) Программа создаёт связь нарисованной картинки (символа) и буквы.

3) При вводе строки программа должна генерировать картинку из символов, соответствующих буквам в введённой строке.

Получится программа, которая генерирует написанный от руки текст. Либо создаёт шифр, вроде «пляшущих человечков», который разгадывал Шерлок Холмс.

Итак, у нас открыто чистое окошко.

В левом верхнем углу есть вертикальная вкладка «Toolbox» (на картинке посередине левого края). Кстати, у меня стоит английский язык интерфейса. Часто документацию можно найти только на английском языке, так проще создать поисковый запрос и вообще английский я стараюсь подтягивать при любой возможности, что и Вам советую .

Покликав по вкладкам можно ознакомиться с основными элементами управления. Назначение большинства понятно интуитивно по опыту работы с другими программами в ОС Windows. Перетащим необходимые для решения задачи элементы. Для надписей используйте Label, для ввода текста TextBox, для рисования Panel, для вывода рисунка PictureBox, а кнопка — это Button. Затем подвигайте элементы, растяните их по размеру создав интерфейс программы. Тексты (не путать с Name — по нему Вы будете обращаться к конкретному объекту) и внешний вид выделенных элементов управления можно поменять в блоке Properties (по-умолчанию он в правом нижнем углу программы).

Читайте также:  Linux get busy ports
Оцените статью