- Приступая к работе: Выбор языка программирования Getting started: Choosing a programming language
- Выбор языка программирования Choosing a programming language
- Попробуйте C# Giving C# a go
- Создание классических приложений для компьютеров с Windows Build desktop apps for Windows PCs
- Платформы для классических приложений Platforms for desktop apps
- Стратегия развития Future roadmap
- Обновление существующих классических приложений для Windows 10 Update existing desktop apps for Windows 10
- Создание классических приложений Create new desktop apps
- Своя программа для Windows. C# очень простыми словами.
- Что такое NET Framework
- Перед тем как начнём немного о функциях, процедурах и методах
- И что такое классы в программировании
- Создание пользовательского интерфейса
Приступая к работе: Выбор языка программирования 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 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.
Платформа 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 (по-умолчанию он в правом нижнем углу программы).