Операционная система microsoft windows для программиста

Содержание
  1. Какая операционная система лучше подходит для программирования?
  2. Linux, Windows или macOS: что выбрать программисту — отвечают эксперты
  3. Linux, Windows или macOS: что выбрать программисту — отвечают эксперты
  4. Тельман Мажлумов
  5. старший backend-разработчик .defa
  6. Олег Степанов
  7. инженер-программист компании ICL Services
  8. Иван Овчинников
  9. декан профессии «Программист С++» образовательного портала GeekBrains
  10. Александр Сибречный
  11. ведущий frontend-разработчик TalentTech
  12. Александр Пантелеев
  13. разработчик в Kodix Auto
  14. Итак, кому какой системой стоит пользоваться?
  15. Выбор операционной системы для программирования
  16. О каждой системе понемногу
  17. Win 10 для программиста: полный гайд по новым фичам
  18. Содержание статьи
  19. Visual Studio 2015 — качай Community-версию!
  20. Xakep #201. Как стать киборгом
  21. Термоядерная кросс-платформенность
  22. Поддержка интерпретируемого языка Python
  23. .NET 2015
  24. .NET Native
  25. DirectX 12
  26. Windows App Studio
  27. Visual Studio Code
  28. Windows IoT
  29. Universal Windows Platform
  30. Эмуляторы для Android
  31. Заключение
  32. Юрий Язев

Какая операционная система лучше подходит для программирования?

Операционная система для программиста 👨‍💻

“Какая операционная система лучше подходит для программирования?” — актуальный вопрос для тех, кто начинает свой путь в IT. Сейчас мы расскажем о том, какую ОС лучше выбрать.

Если провести опрос на тему выбора ОС среди опытных разработчиков, то выясняется, что предпочтения у всех разные. Любовь к той или иной операционной системе — это часто дело привычки, вкуса и личных убеждений.

В любой команде разработчиков найдутся сторонники как минимум двух разных систем. Интеллигентная дискуссия программистов на тему “чей выбор всё-таки лучше” уже стала доброй традицией как в Интернете, так и за чашкой чая после работы.

И чем больше вы погружаетесь в разработку программного обеспечения, тем больше начинаете привыкать к той ОС, которую выбрали для себя изначально. Но чтобы выбор был осознанный, необходимо попробовать хотя бы еще одну систему помимо той, с которой вы работали.

Думать о выборе ОС нужно только тогда, когда у вас накопилось достаточно опыта работы с технологией, которую вы изучаете. К примеру, если вы уже привыкли к среде разработки, умело управляетесь с инструментами git, maven и хорошо разбираетесь в основах программирования, можно временно перейти на другую операционную систему.

А если вы Java-разработчик, работающий на Windows, вам крайне рекомендуется попробовать Linux. Причина в том, что знание Linux-команд для Java-разработчика — это не просто хороший тон, а необходимое умение, чтобы разворачивать свои приложения на сервере.

На большинстве серверов, с которыми вы будете работать, установлены Linux-системы (в первую очередь из-за их бесплатности). Именно поэтому базовое знание Linux’a — часто обязательное требование при устройстве на работу в качестве разработчика.
💡 Итак:

1. В начале работы лучшая операционная система для программирования — это та, к которой вы привыкли, и на которой вам удобно работать. Это позволит вам не отвлекаться на особенности другой операционной системы и сосредоточиться на той технологии, которую вы изучаете. Бесплатно начать изучать Java вместе с нами вы можете здесь.
2. Попробуйте установить Linux-систему и начните на ней работать. Это не только интересный способ провести свободный вечер, но и еще один шаг к успешному трудоустройству 🙂

Linux, Windows или macOS: что выбрать программисту — отвечают эксперты

Linux, Windows или macOS: что выбрать программисту — отвечают эксперты

У каждой ОС есть свои плюсы, минусы и особенности, и как правило программисты выбирают ОС на основе своих предпочтений и представлений. Но что, если отбросить личные симпатии и попытаться взглянуть объективно: какая ОС даёт больше всего преимуществ программисту? Мы задали этот вопрос экспертам, и вот что они ответили.

Тельман Мажлумов

старший backend-разработчик .defa

Выбор ОС в первую очередь зависит от того, в какой области разработчик работает, а ещё это дело привычки и субъективных представлений об удобстве. Я веб-разработчик и успел попробовать несколько операционных систем. Вот мой личный рейтинг удобства ОС именно для разработки веб-решений.

Первое место — macOS. Практически всё идеально, могут возникать проблемы с Docker, поскольку не всегда оптимально используются ресурсы (бывает >= 70 % CPU). Но это мелочи. macOS — это практически идеальный баланс между ОС для работы и для повседневных задач.

Ещё одно первое место — Ubuntu/Mint (и другие Linux-дистрибутивы). Именно для разработки я считаю это семейство ОС лучшей. Из плюсов перед macOS — близость к production-окружению, «нативная» работа Docker. Из минусов — всё-таки иногда всплывают ошибки, которые без консоли не поправить (пример, проблемы со звуком), ну и софта гораздо меньше.

Второе место отдам Windows. Здесь можно спокойно вести разработку. При наличии такого софта как Docker или Vagrant многие проблемы можно легко обойти. Чего мне действительно не хватает в Windows, так это нормального терминала (ConEmu, Git Bash и другие не в счёт). Зато софта под эту ОС гораздо больше, чем на Ubuntu или macOS.

В качестве заключения отмечу, что всё-таки выбирать стоит ту ОС, в которой разработчику привычнее и комфортнее работать. Если всё в операционной системе устраивает, то переход на что-то другое вызовет лишний стресс и трату времени на изучение возможностей новой ОС. В конце концов, в ту же Windows потихоньку внедряется WSL.

Олег Степанов

инженер-программист компании ICL Services

На вопрос, какую операционную систему выбрать для программирования, в большинстве случае нет чёткого ответа, т. к. это больше субъективный выбор каждого человека: как по удобству взаимодействия с самой системой, так и с используемыми инструментами для разработки. Большинство популярных языков и сред разработки в основном присутствуют на всех платформах.

Конечно, есть немало случаев, когда выбор ограничен. Например язык программирования плохо адаптирован под конкретную операционную систему или требуется конкретная платформа для выполнения, тут стоило бы или даже необходимо использовать то, что есть.

Если ограничений нет, то, я считаю, самый правильный выбор — попробовать каждую из систем, для того чтобы решить, что же конкретно тебе удобнее. У каждой системы есть как плюсы, так и минусы: где-то удобнее разворачивать среду и работать с ней, где-то есть более удобные инструменты разработки и т. д., поэтому говорить, что для веб-разработки нужна обязательно macOS или для разработки на .net core нужен Windows, я считаю, неправильно.

Также для нашей страны актуален вопрос цены рабочей машины. Например, для многих, а тем более для начинающих, продукты компании Apple могут показаться дорогими при прочих равных. У компьютеров на Windows или Linux ценник более доступный.

Если подытожить, то если нет ограничений на выбор системы, советую попробовать все системы и выбрать ту конфигурацию системы и инструментов, которую удобно использовать именно вам.

Иван Овчинников

декан профессии «Программист С++» образовательного портала GeekBrains

В первую очередь нужно быть уверенным, что инструмент, с которым человек будет работать, удобен. А операционная система — это инструмент и ничто иное. Если говорить о выборе операционки, то неплохо было бы сразу знать, где ваше приложение будет в дальнейшем крутиться. Если человек предполагает разработку под операционную систему OS X (под MacBook, iOS, iPhone, iPad), то ему обязательно нужен опыт работы в macOS и собственно сама OS X, потому что все остальные операционки хоть и поддерживают языки Swift и Objective-C, но на довольно слабом уровне. Инструментарий разработки под OS X внутри OS X хорошо настроен и нативен.

Дальше у нас встает извечная борьба между Windows и Linux. Начинать холивар, я думаю, смысла нет. Если у пользователя есть привычка работать в Windows — то имеет смысл в этой операционной системе и оставаться, так как в принципе, 80 % задач разработки можно закрывать в Windows. Если хочется попробовать что-то другое — это, бесспорно, Linux. Желательно делать Linux на виртуальной машине, чтобы не потерять своё текущее окружение, но иметь возможность «пощупать». Очень много всякого софта для разработки написано под обе операционки, тут тоже стоит сразу оговориться, что если предполагается разработка на Android — то надо быть по крайней мере знакомым с операционной системой Linux. Необходимо представлять, что это за окружение, как оно работает, знать про открытые драйверы, системные настройки, потому что Android — это тоже Linux.

Читайте также:  Windows next to the table перевод

Есть специализированный стек разработки под Windows: это разработка под Active Directory, разработка разнообразных протоколов, разработка под Microsoft Office и прочие штуки. Понятное дело, что с Microsoft Office перейти на Linux будет нельзя, под него стопроцентно нужен Windows. Тут встает вопрос лицензирования. Если у человека всю жизнь был Linux, то ему не с руки покупать лицензию, которая условно стоит 8 000 рублей. Поэтому в большинстве случаев пользователи остаются на Linux.

Я, в свою очередь, несмотря на то, что веду свои уроки с макбука, активно пропагандирую Линуксы разного рода: это и всякие попсовые Debian и Ubuntu, разного рода Arch Linux, даже Red Hat и прочее, прочее. Соответственно, если у вас есть какие-то опасения, то стоит помнить, что инструментарий на Linux такой же, как на Windows, то есть все среды разработки (всё, что не касается Microsoft Visual Studio) портированы и работают кроссплатформенно. Для новичка будет несложно сориентироваться, главное, не надо сразу начинать лезть в консоль или жить в терминале и пугать себя.

Александр Сибречный

ведущий frontend-разработчик TalentTech

Выбор операционной системы, как правило, происходит на усмотрение самого программиста. Это дело вкуса — кому-то нравится macOS, другие считают Linux топовой системой. Одно важное условие: если ваш продукт будет иметь дело с iOS, то поле выбора ограничено — тут не обойтись без macOS. Иначе ничего не получится, если только разработка не идёт на удалённых серверах. Также эта система считается более user-friendly. То есть все мобильные разработчики, чьи продукты будут запущены в AppStore, не имеют другого выбора, кроме Mac.

Веб-разработка менее требовательна к ОС. Лишь два браузера – Explorer и Safari являются специфическими: первый будет работать только на Windows, а второй – на Mac. Когда разработчику нужно тестировать то, что он разработал, — ему понадобится соответствующий браузер.

Linux считается немного более сложным вариантом — она также бывает простой в использовании, но есть и «хардкор-версия», она скорее для тех, кто «пишет» драйверы и в целом больше работает с «железом». Преимущество этой системы в том, что можно собрать её целиком «под себя» и иметь над ней полный контроль. Это сложнее, требуются мозги и навыки, но использование в таком случае будет немного производительнее.

Разработка игр, как правило, происходит на кроссплатформенных системах. А вот приложения backend-разработчиков чаще выпускаются на Linux, соответственно будет удобно держать именно эту систему на своей машине разработки — это может быть и локальная машина, и нет. Часть разработчиков работает на удалённых серверах, а их локальная машина — это по факту просто интерфейс доступа.

Также если вы привыкли работать на macOS, то будет довольно трудно «переключиться» на Windows, и наоборот. То, чего на Mac можно добиться простыми действиями, на «винде» делается сложно.

Александр Пантелеев

разработчик в Kodix Auto

На такой вопрос сложно дать однозначный ответ. Скорее, это больше зависит от предпочтений разработчика. Но очевидно следующее:

  • Если пишете программы для какой-то определённой платформы, то её и нужно выбирать.
  • Если это веб-разработка, то вероятность того, что сервер будет крутиться на Unix — 80 %, а значит, стоит выбирать Linux или Mac.

Прежде всего следует разобраться, в чём отличие Unix от Windows, и выбрать то, что нравится и больше подходит. Писать хороший код можно везде. В этом вопросе нет серебряной пули, и это самое главное, что нужно понимать начинающему разработчику.

Итак, кому какой системой стоит пользоваться?

Всё зависит от двух вещей: что вам удобно и чем вы занимаетесь. Например, если вы разрабатываете iOS-приложения, то вам придётся пользоваться macOS; если вы пишете бэкенд и сервер крутится на Linux, то, скорее всего, на нём вам и удобней будет работать. Если не принимать во внимание завязанные на конкретной платформе стеки разработки, то всё зависит от ваших предпочтений, ведь очень много софта работает на всех основных системах. Нравится работать в Windows/Linux/BolgenOS? Работайте дальше, если это не ограничивает ваши возможности. К тому же при необходимости в простых случаях можно воспользоваться виртуальной машиной. А переучиваться работать на другой системе просто «потому что» — пустая трата сил и времени.

Выбор операционной системы для программирования

Для максимальной производительности и для удобства работы (программирования) важно выбрать лучшую операционную систему. В данной статье разберем плюсы и минусы работы популярных операционных систем: Windows, Linux, Mac.

О каждой системе понемногу

Windows — семейство коммерческих операционных систем (OC) корпорации Microsoft, ориентированных на управление с помощью графического интерфейса. Изначально Windows была всего лишь графической программой-надстройкой для распространённой в 1980-х и 1990-х годах операционной системы MS-DOS. Согласно данным ресурса Net Applications, по состоянию на август 2014 года под управлением операционных систем семейства Windows работает около 88 % персональных компьютеров.

Mac OS — семейство проприетарных операционных систем производства корпорации Apple. Разработана для линейки персональных компьютеров Macintosh. Популяризация графического интерфейса пользователя в современных операционных системах часто считается заслугой Mac OS. Она была впервые представлена в 1984 году вместе с персональным компьютером Macintosh 128K.

Linux — семейство Unix-подобных операционных систем на базе ядра Linux, включающих тот или иной набор утилит и программ проекта GNU, и, возможно, другие компоненты. Как и ядро Linux, системы на его основе как правило создаются и распространяются в соответствии с моделью разработки свободного и открытого программного обеспечения. Linux-системы распространяются в основном бесплатно в виде различных дистрибутивов — в форме, готовой для установки и удобной для сопровождения и обновлений, — и имеющих свой набор системных и прикладных компонентов, как свободных, так, возможно, и собственнических.

Win 10 для программиста: полный гайд по новым фичам

Содержание статьи

Пока не появился финальный релиз Windows 10 и Visual Studio 2015, мы старались по максимуму подготовить читателя к тем фичам, которые были обещаны Майкрософтом нашему брату-программисту. И вот десятая винда вышла в свет, и ее уже установили миллионы пользователей, среди которых, как мне доподлинно известно, есть программисты :). А это значит, что пора сравнить ожидания и реальность и посмотреть на те возможности, которые нам теперь доступны: Xamarin, Apache Cordova, UWP, поддержка Python, .NET Native, DirectX 12, VS Code, Windows IoT и многое другое. Вперед!

Visual Studio 2015 — качай Community-версию!

А все потому, что Community-версия содержит практически все основные возможности профессиональной версии и их с избытком хватает для разработки любых приложений. Перед Express-версиями она выигрывает тем, что содержит весь комплект тулз и тебе не надо устанавливать отдельные наборы для Windows, Web и для Desktop.

Xakep #201. Как стать киборгом

Термоядерная кросс-платформенность

Разрабатывать кросс-платформенные мобильные приложения позволяет платформа Xamarin. С ее помощью можно создавать приложения для трех основных мобильных операционных систем (Windows Phone, iOS, Android), используя одну кодовую базу на языке C#. Таким образом, Xamarin служит слоем между C# и нативными API разнообразных операционных систем. Поддержка Xamarin в студии реализована через продукт Xamarin for Visual Studio, начальный выпуск которого включен в Visual Studio 2015. После создания проекта на платформе Xamarin будет предложено скачать дополнительные инструменты: Android SDK, Xamarin Studio, GTK# for .NET; а также добавить аккаунт.

Бесплатно, к сожалению, можно зарегистрировать только триальную лицензию, которая предполагает существенные ограничения: системный splash-экран без возможности его замены, работа приложения на устройстве только в течение суток. Тем не менее у разработчика есть все необходимые для разработки мобильных приложений инструменты, в том числе продвинутый конструктор макетов.

Читайте также:  Создание vpn подключения l2tp windows

Эмулятор Xamarin

Еще один способ создания кросс-платформенных мобильных приложений заключается в использовании инструментов Apache Cordova, предоставляющих средства для создания мобильных приложений на веб-языках: HTML, CSS, JavaScript. Благодаря Apache Cordova программист может, используя JavaScript, разрабатывать приложения для Windows Phone, Android, iOS. При этом приложения будут иметь доступ к определенным API конкретной операционной системы. Это достигается подключением модулей, предназначенных для работы с каждой операционной системой.

Теперь, когда JavaScript — полноправный язык Visual Studio 2015 (Игорь Антонов, чувствую, в восторге ;). — Прим. ред.), студия предоставляет разработчику все содержащиеся в ней передовые возможности по написанию, редактированию и отладке кода, JavaScript IntelliSense, проводник DOM, консоль JavaScript, точки останова, контрольные значения, языковые стандарты, а также многое другое.

Эмулятор Apache Cordova

Кросс-платформенные приложения могут быть созданы и с помощью Visual C++. Пока только для двух платформ: Windows 10 и Android. Но Microsoft обещает добавить возможность разработки приложений на C++ для iOS из Студии в ближайшее время. По сути, C++ достаточно низкоуровневый язык, и написанный на нем код выполняется на большинстве платформ без дополнительных извращений. Поэтому большое значение имеют написанные на C++ библиотеки, которые используются в приложениях, предназначенных для разных платформ.

Visual Studio 2015 содержит шаблоны приложений на C++ как для Windows, так и для Android. В последнем случае создаются приложения Android Native Activity с использованием NDK. Такие приложения стоит создавать, только когда программе требуется работа с устройством на низком уровне, например в приложениях, в которых реализуются кастомные системы управления ресурсами, в том числе оперативной памятью, и графический пайплайн. В других же случаях рекомендуется использовать высокоуровневые средства, это упростит разработку, и к тому же скорость выполнения не будет уступать оптимизированному нативному коду.

Разрабатывая приложение для Android на C++ в Visual Studio, разработчик получает все преимущества последней: специфическое для платформы дополнение кода — IntelliSense анализирует соответствующие для конкретной платформы API и создает корректный код. Можно билдить сборки для ARM и x86. Тестировать приложение для Android реально как в эмуляторе от Microsoft, так и в родном эмуляторе из Android SDK.

Universal Windows Platform тоже позволяет собирать кросс-платформенные приложения. Она представляет собой среду выполнения наравне с Win32 и dotNet. Она работает на всех устройствах под управлением Windows 10, в том числе смартфонах и планшетах, игровых приставках и настольных компьютерах. В основе этой платформы находится общее ядро OneCore — одинаковое для всех устройств. Для разных платформ с разными возможностями и аппаратным обеспечением предлагаются разные пакеты SDK (расширения SDK), однако общий функциональный код, не обращающийся к специфическим аппаратным возможностям, один и идентично выполняется на различных девайсах.

Впервые данная платформа появилась под именем Metro в Windows 8. В то время универсальные приложения также могли выполняться на любом девайсе под управлением Windows 8, они имели строго полноэкранный вид. Для UWP существует специальный тип приложений — универсальное приложение для Windows. Приложения для универсальной платформы в большинстве своем распространяются через магазины Windows.

Эмулятор Windows 10

Еще один тип кросс-платформенных приложений, которые можно создавать в Visual Studio 2015, — это игры на двух движках: Cocos2d-X и Unity 3D. Можно прямо из окна создания нового проекта, перейдя в папку шаблонов Game, установить тулзу интеграции с соответствующим движком!

Поддержка интерпретируемого языка Python

Теперь писать код на Python можно в Visual Studio. Для подготовки и запуска программ на нем надо скачать интерпретатор. Это можно сделать, не выходя из Cтудии.

Поддержка Python в Cтудии организована с помощью PTVC (Python Tools for Visual Studio), которая разрабатывается в рамках проекта с открытым исходным кодом. Из ее особенностей можно отметить поддержку различных интерпретаторов (CPython, IronPython, IPython), продвинутую систему проектов, позволяющую управлять кодом проекта и разделять его, тестовый код, веб-страницы, JavaScript-код, сценарии сборки. PTVC содержит шаблоны для консольных приложений, веб-проектов, приложений Azure и прочие.

Особенного внимания заслуживает проект с открытым исходным кодом Azure SDK for Python — средство для использования служб облака Microsoft Azure и управления ими. Кроме Windows, пакет поддерживает Linux и OS X.

.NET 2015

.NET 2015 состоит из .NET Framework 4.6 и .NET Core.

.NET Framework 4.6 включает в себя обновленный ADO.NET, главное нововведение которой — это функция «Всегда зашифровано». Впервые она реализована еще во второй ознакомительной версии SQL Server 2016. Эта функция позволяет выполнять операции с зашифрованными данными, при этом ключ шифрования хранится в самом приложении в доверенной среде клиента, а не на сервере. Плюс к этому данные клиента надежно защищены от администраторов БД. Операции шифрования и расшифровки производятся на уровне драйвера, поэтому для обновления унаследованного программного обеспечения нужны минимальные усилия.

Новый 64-разрядный компилятор RuiJIT, включенный в .NET 4.6, обладает значительно большей производительностью. Скомпилированное с его помощью приложение будет выполняться в 64-разрядном процессе только в соответствующей по разрядности операционной системе.

Усовершенствованный загрузчик сборок экономит виртуальную память путем выгрузки сборок IL после загрузки NGEN. Это особенно полезно при использовании больших 32-разрядных приложений; дополнительно в таком случае экономится физическая память.

Расширились базовые классы: добавились новые коллекции, среди которых IReadOnlyCollection . Свойство CurrentCulture объекта CultureInfo теперь доступно для записи.

Сборщик мусора стал более интеллектуальным. С помощью метода GC.Collect(Int32, GLCollectionMode, Boolean, Boolean)* можно контролировать, какие операции над кучей больших или маленьких объектов выполняются: очистка и сжатие или только очистка.

Увеличилось количество типов с поддержкой SIMD: Matrix3x2, Matrix4x4, Plane, Quaternion, Vector2, Vector3 и Vector4, включенных в пространство имен System.Numerics. Их использование вкупе с новым компилятором, включающим аппаратное ускорение, заметно повышает производительность.

Криптографический API System.Security.Cryptography был дополнен поддержкой API CNG, реализующим алгоритм RSA, он находится в классе RSACng.

Поскольку в сетях могут быть компьютеры с разными операционными системами, в том числе UNIX-подобными, в структуру DateTimeOffset были добавлены функции для преобразования дат и времени в UNIX-формат и обратно.

В WСF (Windows Communication Foundation) добавлена поддержка новых версий SSL: TLS 1.1, TLS 1.2 при использовании NetTcp с безопасностью транспорта и проверкой подлинности клиента. Теперь можно выбрать, какой протокол использовать, или отключить старые, менее безопасные. В новой версии WCF пользователи могут отправлять сообщения, используя разные HTTP-подключения.

.NET Native

.NET Native компилирует C# и/или Visual Basic.NET код не в промежуточные IL-сборки (которые при запуске программ преобразуются JIT-компилятором в двоичный код, что вызывает задержку перед запуском), а напрямую в машинный код. Стоит подчеркнуть, этот двоичный код предназначен для выполнения под управлением Windows 10 на любом поддерживаемом устройстве.

В итоге разработчик получает быстрее запускаемое и быстрее выполняемое приложение, продолжая использовать ресурсы фреймворка .NET, такие как сборщик мусора, автоматическое управление памятью и обработка исключений.

DirectX 12

Помимо возможности использования сторонних движков, о которых я уже писал выше, игроделов порадовала новая версия DirectX. Центральным компонентом DirectX 12 служит модуль трехмерной графики Direct3, который претерпел немало усовершенствований. Рассмотрим лишь некоторые из них.

Значительное повышение производительности в Direct3D 12 по сравнению с Direct3D 11 достигнуто благодаря смене модели программирования, позволившей приложению быть ближе к железу.

В Direct3D 12 появился набор перекрестных объектов, через которые можно управлять такими состояниями конвейера, как входной ассемблер, пиксельный шейдер, растеризатор и другие.

Так как многие GPU комбинируют состояния графического конвейера в одно аппаратное представление, а модель программирования Direct3D 11 позволяет изменять их только независимо, драйвер не дает выполнить действие, пока не будет известно состояние при отрисовке, поэтому происходят задержки. Direct3D 12 решает эту проблему, унифицируя большую часть состояния конвейера в неизменяемый объект состояния конвейера, в результате чего драйвер может немедленно выполнить полученные команды на GPU.

Читайте также:  Можно отключить службу центр обновления windows

В отличие от Direct3D 11, где существует один ряд команд, в Direct3D 12 можно составить их список, который будет содержать все данные для выполнения на GPU, при этом драйвер может заранее просчитать необходимые для выполнения команды.

В связи с высоким интересом со стороны пользователей к двумерной графике в состав DirectX 12 включен новый модуль Win2D. Он произрастает из низкоуровневого API Direct2D, впервые появившегося в DirectX 11, из чего следует полная поддержка аппаратного ускорения. Direct2D довольно низкоуровневый компонент и используется исключительно в C++. С другой стороны, Win2D может применяться в управляемой среде на языке C#, для чего он и создан.

Приложения, использующие Win2D, предназначены для выполнения в среде исполнения Windows: UWP и приложения для магазина Windows, то есть в Windows 10 и 8.1. Кроме того, Win2D — это полностью открытый проект, размещенный, как и другие проекты от Microsoft с открытым исходным кодом, на GitHub, где любой разработчик может внести вклад в развитие проекта.

Заготовка приложения DirectX 12

Windows App Studio

Появившееся год назад веб-приложение для разработки макетов программ под Windows 8.1 и Windows Phone 8 обзавелось возможностью создания эскизов для приложений под Windows 10. Кроме того, апгрейд добавил возможность обновления «живых плиток» пользовательского интерфейса, доступ к Xbox Music, использование Bing Maps, а также возможность сбора аналитических данных (в том числе количество запусков приложения и его сбоев/падений). Смоделировав эскиз (готовое приложение) в облаке, его можно скачать и доработать в Visual Studio 2015.

Visual Studio Code

Многие хотели бы использовать Visual Studio под Linux или OS X. Разумеется, портировать ее напрямую невозможно, поскольку VS корнями глубоко уходит в технологии Windows. Но ведь можно сделать под альтернативные платформы такой же удобный редактор кода! Ребята из Microsoft так и поступили, выпустив полнофункциональный VS Code сразу на трех платформах: Windows, Linux, OS X. К тому же он абсолютно свободный.

Это, конечно, не полнофункциональная Студия, в этом редакторе отсутствует половина возможностей и средств (по рассмотренным выше причинам), однако он обладает мощными средствами по управлению кодом проектов. В VS Code можно разрабатывать веб-приложения на ASP.NET и JavaScript. Кроме того, он позволяет использовать другие языки, входящие в полную версию VS. В VS Code включены IntelliSense и поддержка других средств современного программирования, в том числе интеграция с Git.

Windows IoT

Как ты знаешь, Windows 10 устанавливается даже на такие миниатюрные одноплатные девайсы, как Raspberry Pi 2 или Intel Minnowboard MAX. Конечно, в случае миниатюрных девайсов мы не видим перед собой полный аналог настольной операционки, однако она имеет ту же основу, то же ядро. Поэтому приложения для одноплатных устройств можно спокойно разрабатывать и тестировать под десктопной Windows 10, компилить под микропроцессорные архитектуры ARM и x86, а результат сдеплоить на устройство. Другими словами, с выпуском Windows 10 Microsoft удалось объединить различные устройства под одной операционной системой.

Благодаря Azure все интеллектуальные устройства на самом деле объединены, могут анализировать информацию и выполнять разные полезные действия. На данный момент известно, что планируется три редакции Windows для «Интернета вещей»: IoT Industrial — Intel-only, для банкоматов, торговых автоматов и подобного; Mobile Enterprise — ARM-система с поддержкой универсальных приложений (платформы UWP), оптимизированная под мобильные девайсы; IoT Core — имеет поддержку универсальных приложений, но при этом предназначена для устройств с ограниченными ресурсами.

На данный момент доступна только последняя — IoT Core. Так как она поддерживает платформу UWP, разрабатывать для нее приложения можно уже сейчас, используя те же инструменты, что для других редакций Windows 10: HTML/JS, XAML/C#. Вдобавок она поддерживает консольные приложения C/C++. Тем не менее она на дух не переносит десктопные приложения.

Universal Windows Platform

Строго говоря, в настоящее время Microsoft делит все многообразие приложений для своей операционной системы на три типа: классические приложения, UWP-приложения и Windows Phone приложения. Для их распространения существуют два магазина цифровой дистрибуции: Windows Store и Windows Phone Store.

C первым и третьим типами все более или менее понятно: классические — это унаследованные оконные приложения, для Windows Phone — это стандартные Silverlight-приложения для смартфонов и планшетов.

Чтобы начать разрабатывать приложения для платформы UWP, первым делом надо включить так называемый «режим разработчика Windows 10», с помощью которого можно тестировать универсальные приложения до отправки в магазин. Для этого открываем «Параметры (Панель управления в «десятке») -> Обновление и безопасность -> Для разработчиков» и выбираем «Режим разработчика», соглашаемся на вопрос о возможном повреждении данных. Режим включен.

Помню, в былые времена (Visual Studio 2015 Technical Preview) включить режим разработчика было геморройно, нужно было изменять ключи реестра, но теперь это в прошлом, и мы имеем легко настраиваемую систему.

Эмуляторы для Android

На Windows 8.1 у меня прекрасно запускался стандартный (из SDK) Android-эмулятор. Делалось это через модуль ядра от Intel — HAXM (Hardware Accelerated Execution Manager — аппаратная виртуализация для Android, использующая технологию Intel Virtual Technology), однако после того, как я обновился до Windows 10, при запуске эмулятора система стала сообщать, что этот модуль не установлен. Тогда я попробовал переустановить его.

Удаление прошло успешно. Но когда я запустил инсталлятор intelhaxm-android.exe, находящийся в папке (по умолчанию) C:\Program Files (x86)\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager\ , появилось сообщение, что мой комп не поддерживает виртуализацию: VT not supported. Хотя я предварительно, конечно, включил виртуализацию в BIOS, современные камни поддерживают этот режим. Проблема оказалась в том, что HAX не дружит с Hyper-V, поэтому последний надо отключить. Это можно сделать из командной строки: запускаем ее от имени администратора (для выполнения приложения dism нужны привилегированные права) и вводим команду dism.exe /Online /Disable-Feature:Microsoft-Hyper-V :

Выполнение команды dism

После ее выполнения будет предложено перезагрузить комп, что необходимо сделать. Когда операционка загрузится, снова запусти инсталлятор, и на этот раз установка пройдет без проблем. После чего эмулятор будет работать. С другой стороны, для работы эмулятора из Visual Studio 2015 нужен работающий Hyper-V, придется включить его обратно командой dism.exe /Online /Enable-Feature:Microsoft-Hyper-V . Но в таком случае не будет работать эмулятор из SDK.

Лично я, как любой порядочный программист, склонен во всем этом винить Майкрософт, крича при этом: «Проклятая винда опять глючит», но не исключаю, что такая ерунда творится только на моем ноуте, а на другом компе все будет нормально.

Обрати внимание: после отключения Hyper-V может отвалиться доступ в интернет. Чтобы его восстановить, зайди в свойства подключения и поставь внезапно потерявшуюся галочку поддержки протокола IP-4.

Заключение

В итоговом релизе новой экосистемы от Microsoft нововведений так много, что даже их краткий обзор составил целую статью. Новая версия Windows собрала вокруг себя колоссальное множество технологий для всех областей человеческого существования. Это в первую очередь касается устройств, на которых она работает, а это любые девайсы: от PC и консолей до миниатюрных гаджетов и систем, от которых зависят человеческие жизни.

Кроме того, Windows 10 предоставляет единую среду для выполнения приложений, другими словами, программа, разработанная для одного типа устройств, без проблем запустится на другом. Конечно, такой перенос не имеет большого смысла, ведь портирование делают для получения новых возможностей от другой платформы, поэтому при переносе используются дополнительные пакеты разработчиков для расширения функциональности приложений и добавления к ним новых возможностей взаимодействия с новой программно-аппаратной платформой.

О разработке приложений для Windows 10 в одной статье исчерпывающе не расскажешь, поэтому следи в ближайших выпусках электронной версии журнала за новыми статьями на эту тему. А пока — удачи во всех делах и до встречи!

Юрий Язев

Широко известен под псевдонимом yurembo. Программист, разработчик видеоигр, независимый исследователь. Старый автор журнала «Хакер».

Оцените статью