История развития современных компьютеров – это эпическая война за рынок между Apple и Microsoft. В этом соревновании сделан очередной ход. Microsoft выпустила первый собственный моноблок Surface Studio. А Apple начал продавать обновленную линейку MacBook Pro, клавиатура которого включает в себя сенсорную панель Touch Bar.
В IGate составили список самых интересных различий между компьютерами Apple и Microsoft.
Apple гордится своим дизайном
«Яблоки» тратят на разработку дизайна примерно столько же времени, сколько на разработку железа. Компания очень внимательна к деталям. Даже «начинка» выглядит красиво, хотя ее никто не видит.
…но Microsoft почти не уступает
Моноблок Surface Studio от Microsoft совершил невозможное. Он выглядит не менее круто, чем любой из компьютеров Apple. Кстати, планшет Surface Pro 4 и ноутбук Surface Book тоже выглядят весьма симпатично. К тому же компьютеры под Windows разрабатывает множество производителей. И у Dell, и Asus тоже очень хорошие дизайнеры. Да, многие компьютеры под Windows выглядят не очень красиво или откровенно странно, но хорошие варианты есть.
Mac обычно намного дороже, чем PC
В среднем, компьютер Mac окажется намного дороже, чем PC с аналогичной комплектацией и возможностями. Фанаты Microsoft называют это «яблочным налогом». За исключением аномалий. Например, вышеупомянутого безумно дорогого Surface Book или раскрученных ноутбуков для геймеров. Средний ноутбук под управлением Windows обойдется примерно в $500. Для сравнения, MacBook Air, самый дешевый из современной линейки Apple, стоит от $1000. При этом вполне приличный PC-ноутбук можно купить даже за 300-400 долларов. Что называется, «почувствуйте разницу».
Windows намного удобней для геймеров
Геймеры предпочитают «винду» хотя бы потому, что PC намного легче кастомизировать. Серьезные игроки регулярно пересобирают свои компьютеры, меняя видеокарты и процессоры, добавляя оперативную память. Естественно, «черные ящики» Mac им не подходят. Даже очень крутой и современный MacBook через несколько лет устареет и вставить пару новых «плашек» оперативной памяти так просто не выйдет.
И к тому же многие игры на Mac все еще не идут. Эта проблема началась в далекие 90-ые и до сих пор продолжается. Когда Стив Джобс ушел из Atari, он, видимо, забросил компьютерные игры, а зря.
У Mac лучше техподдержка. Если она есть в вашем городе
Если у вас какая-то проблема с компьютером Mac, вы можете обратиться в ближайший магазин Apple, где специалист проверит ваш ноутбук и отремонтирует его, причем за решение небольших проблем плата не взимается. Если, конечно, в вашем городе в принципе есть официальный магазин Apple. Если его нет, то ремонт превращается в захватывающий триллер.
С PC в этом плане проще. Что-то можно починить самостоятельно, что-то исправит сосед-сисадмин. А если и сосед не помог, то официальные запчасти есть в любом приличном сервис-центре. А если вы живете там, где есть официальный магазин Apple, то там наверняка скоро откроется и Microsoft Store с аналогичными услугами. Их пока что меньше, но Microsoft собственную сеть активно развивает.
Mac безопаснее в отношении вирусов
Компьютеров Mac намного меньше, а это значит, что создавать для них вирусы, шпионские программы и прочие гадости менее интересно. Хотя в последнее время хакеров все сильнее теснят, и они перебрасывают свое внимание на узкие сферы. Так что Apple усиленно работает над тем, чтобы обгонять хулиганов и злодеев и встраивает все новые и новые системы безопасности в свое ПО.
Операционные системы выглядят совершенно по-разному
Самое очевидное различие, не так ли? В Windows 10 Microsoft попытались объединить удобство и дружелюбность «семерки» с ориентированностью на сенсорный экран «восьмерки», и им это в общем-то удалось. Вы можете переключаться между режимами традиционного рабочего стола и «планшета». И традиционный рабочий стол выглядит как всегда, с меню «пуск» в нижнем левом углу, а «планшет» показывает вам меню с приложениями. macOS пошла своим путем: панель с самыми используемыми приложениями внизу и меню вдоль верхней части экрана.
Но, разумеется, интернет полнится плагинами, которые заставляют «винду» выглядеть точно так же, как «макось», и наоборот. Так что не верьте глазам своим, если видите на ноутбуке HP «яблочный» рабочий стол.
У PC шире выбор железа
Множество производителей выпускают свои PC. Microsoft выпускает собственные компьютеры, но Acer, Lenovo, Dell и другие выпускают множество совершенно разных компьютеров. Среди этого многообразия можно найти сборку на любой вкус и кошелек. Apple – монополист и в железе, и в программном обеспечении. Если вы хотите Mac, вы покупаете его у Apple.
У компьютеров на Windows все чаще встречается сенсорный экран
Со времен Windows 10 Microsoft настаивает, что будущее компьютеров – именно в сенсорных экранах. Все больше компьютеров от разных производителей получают сенсорный экран, а собственная линейка Surface – вообще квинтэссенция этой концепции.
Apple, в свою очередь, обещает, что планшет iPad Pro может заменить вам компьютер и добавляет сенсорную полосу на клавиатуру. Но ноутбуки и компьютеры компании не имеют сенсорного экрана, и вряд ли получат его в ближайшее время.
Windows работает на разных типах устройств
Операционная система Windows 10 работает на ноутбуках, настольных компьютерах, планшетах, смартфонах и даже – если вас это вдруг интересует – очках HoloLens. Количество вариаций устройств исчисляется, пожалуй, десятками тысяч. А macOS работает только на ноутбуках и настольных компьютерах.
Клавиатуры тоже разные
Казалось бы, что можно сделать по-разному, располагая алфавитом и пятью десятками кнопок? Но нет. Если вы планируете в будущем менять систему, вам придется постараться, чтобы переучиться на совершенно другие команды. Скопировать, открыть программу, закрыть окно, сделать скриншот – все это делается совершенно разными наборами клавиш.
Mac идеально сочетается с iPhone
Это неудивительно, ведь у них один производитель. Если у вас и компьютер, и смартфон от Apple, вы можете отправлять смс-ки прямо с ноутбука. Да, PC тоже такое теоретически позволяет (если у вас смартфон под Windows, и установлена Cortana, и вы поставите дополнительное ПО), но это куда менее удобно.
Смешать, но не взбалтывать
Хотите получить лучшее от обеих систем? Тогда выбирайте Mac, на котором можно запускать не только macOS, но и Windows через виртуальную машину или Boot Camp. Это поможет не только геймерам, но и тем, кто только начинает знакомиться с компьютерами Apple.
#статьи
-
0
Можно бесконечно смотреть на огонь, воду и срачи в IT-тусовке о лучшей операционке.
Иллюстрация: Apple / Windows / august96 / Pexels / George Keen / Wikimedia Commons / Colowgee для Skillbox Media
Журналист, коммерческий автор и редактор. Пишет про IT, цифровой маркетинг и бизнес.
Сайт: darovska.com.
Этот батл может длиться вечно, но мы всё-таки рискнули спросить у комьюнити, что лучше.
Симпатия к той или иной операционной системе — это прежде всего эмоции. Тем не менее любители техники Apple почти поголовно влюблены в macOS. И вот что им нравится больше всего.
По словам любителей яблочной операционки, macOS и сама по себе работает очень стабильно, при этом железо в компьютерах от Apple тоже надёжное и долговечное.
«Я занимаюсь антивирусами и работаю на разных платформах — и Windows, и Mac. Без сомнения, macOS — гораздо более стабильная и удобная. У Apple очень ограниченный набор железа, а мир Windows наводнён дешёвыми компьютерами. Может показаться, что аппаратное обеспечение Apple стоит дороже, но если сравнивать их возможности, то становится понятно: у Apple очень конкурентные цены».
promixr,
пользователь Reddit
«Я всё ещё использую свой ПК с Windows — но в основном только для игр. А пару месяцев назад я купил MacBook Air M1 и теперь просто очарован им. До него у меня был Lenovo Ideapad за 350 евро — он хуже любого MacBook, поэтому переход на Apple был потрясающим опытом. Мой новый ноутбук кажется более прочным, чем все, которые я пробовал раньше, а вся начинка, от трекпада до клавиатуры, работает практически безупречно. Не то что Lenovo».
Unius_,
пользователь Reddit
macOS — единственный вариант для полноценной разработки ПО под технику Apple: макбуки, айпады и айфоны. Без macOS разрабатывать, тестировать и отлаживать приложения для яблочной экосистемы практически невозможно — ведь понадобится Xcode, а для других платформ её не выпускают.
Однако тут есть и минус — ПО для разработки под Apple платное.
«Разработка для macOS и iOS (Apple в целом) — это кошмар. Эти ребята дерут с вас деньги за всё: относятся к программированию под их платформу как к привилегии, символу принадлежности к „элитной“ группе. Нужно платить 99 долларов в год за программу для разработки. Что это за фанатизм?»
Marie-Eva Volmar,
CEO в Dallada Corporation на Quora
Немало веб-программистов работают исключительно на macOS, и им всё нравится. Ещё бы: тут есть и всё необходимое ПО (в отличие от Linux), и полноценная командная строка (в отличие от Windows). Даже те, кто не любят продукты Apple, признают, что запускать код на macOS невероятно удобно:
«Я признаю, что OS X от Apple меня впечатлила — по сути, она может запускать ваш код и без IDE».
Evan Sawyer,
пользователь Quora
Пользователи macOS считают, что эта система работает гораздо эффективнее Windows. Но, возможно, они просто не отделяют операционку от яблочного железа и никогда не использовали Hackintosh
«В 90% случаев в macOS всё работает безупречно, как обычно у продуктов Apple, а вот в 10% случаев какое-то нужное мне приложение в их экосистеме не работает или вообще не поддерживается. Тогда мне приходится обращаться к старому компьютеру с Windows. Но я думаю, что большинство обычных пользователей не сталкиваются с такой проблемой».
Инженер Фредо,
пользователь Reddit
AirDrop, iMessage, FaceTime, iCloud и так далее. Это и правда удобно: все твои устройства работают в единой экосистеме, и переход от одного к другому по-настоящему бесшовный.
«С точки зрения производительности MacBook — отличный выбор. И во многом благодаря различным вспомогательным приложениям вроде Alfred или диспетчера задач. Однако я бы не купил себе MacBook, если бы уже не использовал iPhone и другие устройства Apple. Не поймите меня неправильно, macOS великолепна, но есть сферы, в которых она слабовата.
Для меня главное преимущество macOS — бесшовная интеграция с другими продуктами Apple. Без этого всё, что я могу делать на своём Mac, можно делать и на компьютере с Windows».
PunyDev,
пользователь Reddit
«Я могу просматривать входящие сообщения как с macOS, так и с iPhone. Могу начать разговор или общение в мессенджерах на одном устройстве, а продолжить его на другом. Могу принимать звонки в macOS, если мой телефон находится в той же Wi-Fi-сети. При этом никакого дополнительного программного обеспечения не надо.
iCloud работает безупречно с iPhone, MacBook и iPad. Раньше у меня возникали проблемы с синхронизацией файлов в OneDrive, которыми я делился с женой, — тогда у меня дома ещё стояла Windows 10. Из-за этих проблем я даже перешёл на Dropbox. Теперь мы используем его для обмена файлами, а iCloud — для их хранения. Всякий раз, когда я перехожу на новый iPhone, мне просто нужно залогиниться в iCloud, и все мои данные появляются в приложениях «Фотографии» или «Файлы».
Jeff LeBlanc,
пользователь Quora, администратор SCCM
Пользователи, перешедшие на macOS с Windows отмечают качество взаимодействия с операционной системой — в том числе с помощью жестов.
«Я всю жизнь пользовался Windows, а потом перешёл на MacBook Air M1 — понравились отзывы. macOS отличается от Windows, причём в лучшую сторону. Всё, начиная от жестов трекпада и взаимодействия с пользователем до ОС в целом, кажется более интуитивным и плавным. Я ни разу не сталкивался с ограничениями в необходимых для работы программах.
В продуктах Apple меня всегда вдохновляло, что, даже несмотря на более слабые заявленные характеристики (оперативная память, размер батареи и так далее), они работают гораздо лучше решений конкурентов».
Proxima_Centuari,
пользователь Reddit
«Пару недель назад перешёл на базовую модель M1 MacBook Air. Это мой первый продукт Apple за более чем 10 лет. Однажды у него произошёл один сбой — причину я так и не выяснил. Но в остальном это лучший компьютер, который у меня когда-либо был, — и я сомневаюсь, что когда-нибудь снова куплю ноутбук с Windows. Трекпад тонкий, крутой и совершенно бесшумный, мощности хватает для большей части моих задач. У меня есть и десктоп с Windows, но нужен он только для игр».
GRosasSilva,
пользователь Reddit
Большинство пользователей macOS практически ни разу не сталкивались с проблемами от вирусов и вредоносных программ, даже если у них не стоял антивирус.
«Вредоносных программ и вирусов на маке практически нет. У моих родителей дома стоит ПК с Windows 10, а для путешествий я подарил им свой старенький MacBook. Каждый раз, приходя к ним в гости, я обычно проверяю их компьютер на вирусы. И в Windows стабильно нахожу до 600 нежелательных элементов. В итоге я даже забрал права администратора у отца. А что в macOS? Ноль…»
Jeff LeBlanc,
пользователь Quora, администратор SCCM
«Компьютеры от Apple не так сильно распространены, поэтому для macOS пишется меньше вредоносного ПО — хотя угроза постепенно растёт, например за счёт популярности кросс-платформенной Java. У Windows — гораздо больше установок, чем у других ОС для настольных компьютеров, поэтому чаще всего вирусописатели целятся именно в неё».
Akshay M,
пользователь Quora
Когда вы покупаете макбук, он уже работает как надо. Достаточно только авторизоваться в системе под своим Apple ID: все данные и конфигурации быстро переносятся с предыдущего девайса. В процессе использования вам также не понадобится делать каких-то сложных манипуляций, чтобы установить ПО или настроить систему. В Windows возможностей для настроек и установки софта будет значительно больше, но и сделать всё это нормально будет сложнее.
«Я думаю, что компьютеры Mac — лучший вариант для людей, которые хотят делать только то, что им действительно нужно. Это похоже на разницу между вождением и ремонтом автомобиля. Есть люди, которые любят возиться со своими автомобилями и тюнинговать их — в этом нет ничего плохого. Но есть и люди, которые просто хотят добраться из пункта А в пункт Б, и такие люди просто выбирают максимально комфортную машину.
То же с macOS и Microsoft Windows. Я пробовал Windows много раз — у нас на работе даже есть ноутбук с Windows, но, по моим ощущениям, он гораздо менее интуитивный по сравнению с макбуками. Однако тут надо отметить, что я всю жизнь пользуюсь Mac, поэтому у меня давно сформировались привычки».
Jorge Chambers,
инженер-программист, пользователь Quora
В случае с макбуком вам не понадобится обновлять оперативную память или менять видеокарту — это в принципе невозможно. А значит, не придётся заморачиваться и с совместимостью железа или установкой драйверов. Вы покупаете яблочный компьютер и просто им пользуетесь.
«Apple контролирует все пакеты аппаратного и программного обеспечения, обновления, поэтому каждый Mac работает бесперебойно: не возникает задержек или несовместимости по железу. Для Windows разные модели ноутбуков и даже персональные ПК могут не иметь подходящих драйверов для каждого компонента в каждой версии ОС, поэтому регулярно выскакивают проблемы с совместимостью и тормоза. Иногда из-за этого невозможно достичь ожидаемой производительности».
Akshay M,
пользователь Quora
Любителей Windows — тоже немало. Есть даже такие грешники, которые предпочитают ставить Windows… на устройства от Apple, хотя это скорее исключение из правил.
Фанаты Windows отмечают, что эту систему легче настроить под себя, а ещё она более функциональна и подходит под большее число задач.
Ещё Windows — единственный вариант для геймеров. На macOS и Linux выбор игр сильно ограничен. Да и по-настоящему крутые игровые компьютеры с мощной графикой существуют только в мире Windows.
«Будучи тру-геймером, я люблю использовать Windows из-за её хардкорной графики и потрясающей производительности, а также простоты доступа по сравнению с macOS».
Akshay M,
пользователь Quora
А ещё на Windows существует больше бесплатного софта, а в ОС от Apple почти за всё нужно платить.
Для Windows существует больше разнообразных программ. Гораздо больше. Кроме игр есть куча софта для архитектуры, видеомонтажа, бизнес-аналитики и других задач — и многие из этих программ выпускаются в режиме only Windows.
Инженеры утверждают, что в Windows можно запускать среду разработки, сохраняя идентичность окружения, что довольно удобно. А ещё есть свой аналог CLI — WSL — и нет проклятущего Finder, как в macOS.
Многим нравится, что Windows поддерживает MST: при закрытии окна закрывается и приложение, а аудиомикшер позволяет регулировать громкость каждого приложения отдельно, а не только всех сразу. Плюс на «окнах» удобнее работать, используя только клавиатуру.
По мнению многих разработчиков, Windows лучше подходит для корпоративной рабочей среды.
«Mac привлекает графических дизайнеров, продюсеров видео и музыки, технических журналистов, разработчиков приложений и так далее. У Windows же широкий охват по всем профилям. А бизнес-пользователи, как правило, используют оборудование с Windows на борту из-за хорошей совместимости».
Akshay M,
пользователь Quora
По версии специалистов, организовать корпоративную рабочую среду, где есть AD, групповые политики Exchange, серверы, клиенты и тонкие клиенты на macOS или iOS, — нереально.
Инструменты разработки для Windows чаще всего критикуют за то же, за что и инструменты для Apple, — ценовую политику. Зато сам выбор софта на платформе от Microsoft, безусловно, шире.
«Инструменты разработки под Win хороши, но дороги — например, та же Visual Studio. Да и все инструменты разработки под Win в первую очередь выпускаются для Win (и конечно, не бесплатно), при этом остальные ОС поддерживаются гораздо хуже. А уж инструменты разработки с открытым исходным кодом на Windows поддерживаются и настраиваются гораздо хуже, чем в Linux и macOS».
Sergiy Reypolskyy,
разработчик в Apple, пользователь Quora
Компьютеры на базе Windows гораздо более гибкие в настройке — и их проще сконфигурировать под себя. На macOS всё гораздо строже, поэтому, если вам не пришлась по вкусу яблочная экосистема, велик шанс, что вы вернётесь к Windows.
«Обычно я использую компьютеры с Windows для игр и программирования. По-моему, Windows — гораздо более развитая ОС с точки зрения программирования и игр. Существует множество вариантов настройки вашего ПК с Windows, и вы можете кастомизировать чуть ли не все компоненты. Да и в целом Windows очень гибкая — и хотя иногда это может быть недостатком, мне она нравится.
С точки зрения персонализации и настройки под себя macOS — ужасная система, потому что в ней очень мало пространства для манёвра. Конечно, Mac тоже можно использовать для разработки, но я предпочитаю Windows, потому что маковский терминал не умеет запускать сложные программы».
Sameep Rastogi,
технический энтузиаст, пользователь Quora
Чтобы полноценно работать с Windows, не нужно покупать какой-то специальный ноутбук, есть множество вариантов по любым ценам — от эконом-класса до мощных машин, не уступающих по ценам продукции Apple. А ещё вы всегда можете докупить оперативной памяти или сменить жёсткий диск. В случае с техникой Apple это сделать уже нельзя. Единственная возможность апгрейдить яблочный ноутбук или ПК — купить новую модель.
«Когда вы покупаете ПК с Windows (или любой ПК со стандартным аппаратным обеспечением), это ваш компьютер. Вы администратор. Вы можете изменять, настраивать и обновлять всё, что захотите. Вы можете собрать компьютер с нуля. Вы можете установить SSD любого размера, оперативную память, процессор, ОС, аккумулятор, устройства чтения дисков и так далее. Обновляйте своё оборудование в любое время — как хотите и гораздо дешевле. Я активно использовал Windows на множестве компьютеров, но никогда не сталкивался с синим экраном смерти, BSOD».
Evan Sawyer,
пользователь Quora
«Windows — это универсальная ОС, которая поддерживает всё, что вы ей предлагаете. Я могу использовать её с любой конфигурацией процессора, материнской платы, видеокарты, и она заработает под управлением Windows».
Collin Campbell,
пользователь Quora
Полноценно пользоваться операционной системой от Apple можно, только если вы счастливый обладатель фирменной техники. А вот купить и поставить копию Windows может любой человек — и оборудование может стоить хоть 300, хоть 3000 долларов.
«Покупка Mac в наши дни — это, по сути, покупка ПК от Gucci. Процессор, платы и другое железо имеют ту же архитектуру, что и железо других брендов, — во многих случаях они идентичны. Единственное, что удерживает вас от запуска macOS на ПК, — это один дополнительный чип на материнской плате. Однако в итоге вы платите бешеные деньги за этот маленький логотип Apple на корпусе».
Gregg Schoenberger,
специалист по компьютерной безопасности и системный администратор, разработчик, бакалавр компьютерных наук, пользователь Quora
Обычно выбор операционки зависит от того, чем именно занимается человек и какой софт для работы ему нужен. Например, пользователи 3ds Max используют Windows, потому что этот самый Max существует только в версии для Windows. А пользователи Final Cut Pro, напротив, используют компьютеры Mac, потому что этот софт не работает на Windows.
Современные macOS и Windows 10 — удобные и инновационные операционные системы с кучей классных приложений, функций и инструментов. Поэтому многие разработчики констатируют, что выбирают одну или другую ОС просто потому, что им так привычнее.
Однако есть и третья коалиция — суровые линуксоиды, «бздуны», бубунтоводы и прочие маргиналы от IT, которые плюются от «проприетарщины» и давно сидят на Linux, BSD-системах
С чего начать путь в IT?
Получите подробный гайд в нашем телеграм-канале бесплатно! Кликайте по баннеру и заходите в канал — вы найдёте путеводитель в закрепе.
Забрать гайд>
Эволюция и текущее состояние ОС для настольных компьютеров
Выбор между MacOS и Windows – это не просто техническое решение, это выбор экосистемы, которая соответствует вашему стилю жизни. Windows – первое и последнее, что приходит на ум, и ее доля на рынке составляет около 73 % только благодаря универсальности и конкурентоспособным аппаратным возможностям. Однако macOS растет и догоняет, ведь ее доля рынка уже выросла до 15 %, а это значит, что она тоже привлекает некоторых пользователей, особенно творческих личностей, в основном тех, кто работает в нише разработчиков.
Доля использования операционных систем из Википедии
Господство Windows на рынке ОС объясняется ее большой гибкостью и мощью. Во-первых, ОС от Microsoft поддерживает оборудование стоимостью от ₽30000 минимум, то есть ноутбуки до ₽300000 плюс высококлассные рабочие станции и даже больше. Именно поэтому большинство компаний, учебных заведений или тех, кто не может позволить себе такой ценовой диапазон, обращаются к Windows. Возможность купить Windows 11 отдельно, без подключения к компьютеру, по цене ₽15000, если это Home Edition, также предлагает пользователям возможность сделать свой собственный компьютер или обновить старый.
С другой стороны, macOS видит мир совершенно иначе. В macOS Apple гарантирует, что только на их машинах будет установлена их операционная система, что создает очень контролируемый опыт. Это ограничивает игроков, которые могут собрать все доступные машины – они ограничены только производительностью. Именно по этой причине Apple удается выжимать максимум производительности из своих машин и добиваться исключительной последовательности и возможности обновления всей линейки продуктов. Такой подход оказался наиболее успешным в бизнес-применении для профессионалов, для которых надежность системы и бесшовная интеграция важнее первоначальной стоимости.
Пользовательский опыт MacOS и Windows: За поверхностью
Битва интерфейсов между MacOS и Windows показывает, насколько по-разному эти два гиганта относятся к компьютерным технологиям. Windows 11 – это самый совершенный интерфейс Microsoft, в котором умело сочетаются удобные для сенсорного управления функции и традиционные настольные компьютеры. Когда вы впервые увидите Windows 11, вы заметите меню «Пуск» и панель задач, расположенные прямо в центре экрана, плавную анимацию и единый стиль оформления, пронизывающий всю систему.
Вот как эти две системы подходят к ключевым элементам интерфейса:
Элемент опыта | Подход Windows 11 | Подход macOS |
---|---|---|
Навигация | Центрированное меню “Пуск” с настраиваемыми закреплениями и рекомендациями | Запуск приложений с помощью Dock и управление окнами через Mission Control |
Многозадачность | Snap Layouts и Snap Groups для интуитивного расположения окон | Spaces и Mission Control для организации виртуальных рабочих столов |
Поиск | Интегрированный поиск Windows с помощью AI-ассистента Copilot | Spotlight Search с обработкой естественного языка |
Уведомления | Центр действий, объединяющий уведомления и быстрые настройки | Центр уведомлений с виджетами и быстрыми действиями |
Что же на самом деле отличает эти системы? Давайте поговорим о том, как они справляются с теми вещами, которые мы делаем на компьютерах в наши дни. Windows 11 – это как тот самый «оверхаймер», который хочет быть хорош во всем: сенсорные экраны, перьевой ввод, а также старые добрые мышь и клавиатура. Идея классная, но иногда это мешает – особенно со старыми программами, которые выглядят совершенно неуместно.
Mac? Они играют в совершенно другую игру. Их задача – сделать так, чтобы движения трекпада и сочетания клавиш были максимально удобными. Конечно, в MacOS все идеально сочетается и работает именно так, как вы ожидаете… но если вы любите все настраивать, вы можете оказаться разочарованным, потому что Mac, по сути, говорит: «Нет, мы знаем, что для вас лучше».
Влияние на повседневное использование
То, как вы работаете с компьютером изо дня в день, зависит от того, насколько эти разные дизайны соответствуют вашему стилю. Пользователи Mac, особенно творческие натуры, любят, когда их цвета выглядят идеально, а текст отображается кристально четко практически во всех приложениях, которые они используют. Дело в том, что, хотя универсальный подход Mac позволяет быстро освоить новые приложения, он также означает, что у вас меньше возможностей сделать что-то свое.
Windows дает больше возможностей для игры с рабочим пространством, и это просто мечта, если вы любите использовать несколько экранов. Очень удобно, что Windows запоминает, где именно вы разместили все окна, особенно если вы постоянно переключаетесь между настольными и мобильными системами.
Обновление программного обеспечения и обслуживание системы
Одно существенное отличие заключается в том, как различные системы относятся к обновлениям и обслуживанию. В отличие от MacOS, в Windows 11 у пользователей будет более тонкий контроль над обновлениями. Они могут откладывать обновления, а также указывать время их запуска. Однако это сопряжено с большими усилиями по обслуживанию системы, когда необходимо регулярно проводить очистку и оптимизацию диска.
И наоборот, MacOS, работающая автоматически, без ведома пользователя, возьмет на себя большинство задач по обслуживанию операционной системы, незаметно работая в фоновом режиме. Хотя пользователи не контролируют весь процесс, это снижает вероятность прерывания обновления или даже замедления работы системы.
Взгляд в будущее: Будущее настольных компьютеров
Обе операционные системы продолжают развиваться по-своему – Windows теперь интегрирует в себя искусственный интеллект в виде Copilot, в то время как MacOS прочно удерживает свое место в экосистеме Apple. Предоставление в Windows 11 совместных приложений для Android и Progressive Web Apps говорит о том, что Microsoft стремится в будущем охватить своими предложениями все устройства. В то же время переход с MacOS на Apple Silicon говорит о том, что Apple больше заботится о производительности и энергосбережении при взаимодействии аппаратного и программного обеспечения.
Для пользователей, делающих выбор сегодня, решение часто сводится к приоритетам:
Выбирайте Windows, если вам это важно:
- гибкость аппаратного обеспечения и возможность выбора стоимости
- Игровые возможности
- обратная совместимость с устаревшим программным обеспечением
- Максимальная доступность программного обеспечения.
- Выбирайте MacOS, если для вас важны:
- Надежность из коробки
- Рабочие процессы для творчества и разработки
- Интеграция с iPhone и iPad
- Упрощенное обслуживание системы
Зная различия, вам нужно сделать выбор, чтобы улучшить свои привычки в работе с компьютером и работать лучше в той компьютерной среде, которая вам не подходит. Хотя обе системы выполняют по большей части одни и те же функции, их способы управления производительностью совершенно разные.
Сравнение экосистемы программного обеспечения и среды разработки
Ландшафт совместимости программного обеспечения
Уже довольно долгое время битва между MacOS и Windows занимает и приковывает внимание всего мира программного обеспечения. Windows могла заглянуть дальше исторической игровой индустрии и, благодаря этому, вызывала горячие споры со стороны увлеченных пользователей и разработчиков повсюду. Сегодняшний ландшафт формируется скорее под влиянием конкретных сценариев использования, чем общего количества приложений.
Сравнение основных программных экосистем
Категория | Windows | MacOS | Ключевое соображение |
---|---|---|---|
Творческая работа | Adobe Suite, Affinity Suite | Adobe Suite, Final Cut Pro, Logic Pro | MacOS лучше оптимизирована для творческих приложений |
Игры | Полная библиотека AAA, Game Pass, Steam | Ограниченное количество AAA-игр, Apple Arcade | Windows — явный выбор для серьезных геймеров |
Бизнес | Поддержка полного комплекта корпоративных приложений | Расширяющаяся поддержка бизнес-приложений | Windows лидирует в корпоративном программном обеспечении |
Разработка | Visual Studio, WSL2, Docker | Xcode, Terminal, инструменты Unix | Обе системы эффективны, но имеют разные сильные стороны |
Профессиональные инструменты | Специализированное программное обеспечение для отрасли | Ограниченное специализированное программное обеспечение | Windows обладает более широкой поддержкой профессионального программного обеспечения |
Хотя так сложилось, что существуют платформы, такие как Slack, Zoom и Microsoft Office 365, которые должны стать привычными для большинства пользователей, все же есть некоторые оптимизации, которые были разработаны в первую очередь для платформ, что приводит к различиям в производительности и пользовательском опыте:
Характеристики производительности MacOS и Windows
Аспект | Производительность Windows | Производительность MacOS |
---|---|---|
Управление памятью | Лучше для множества приложений | Более эффективно для оптимизированных приложений |
Время работы от батареи | Зависит от аппаратуры | Превосходно на Apple Silicon |
Скорость запуска приложений | Быстро на SSD | Чрезвычайно быстро на Apple Silicon |
Обновления | Могут быть нарушающими | В основном бесшовные |
Среда разработки
Современные технологии вступили в эпоху, когда они способны поддерживать большинство рабочих процессов разработки независимо от платформы. У каждой из них есть свои сильные стороны, которые влекут за собой соответствующий стиль разработки.
Обзор сред разработки для MacOS и Windows
Функция | Среда Windows | Среда MacOS |
---|---|---|
Собственные инструменты | Visual Studio, WSL2 | Terminal, инструменты Unix, Xcode |
Управление пакетами | Winget, Chocolatey | Homebrew, MacPorts |
Разработка мобильных приложений | Нативная поддержка Android, ограниченная поддержка iOS | Полная поддержка iOS/Android |
Разработка в облаке | Превосходная интеграция с Azure | Лучшая интеграция инструментов Unix |
Веб-разработка | Полноценные возможности для всего стека | Предпочтительна для многих веб-разработчиков |
Настоящее различие проявляется в конкретных сценариях разработки:
Windows сияет в:
- Разработка корпоративных приложений
- экосистема .NET
- Разработка игр
- Приложения, специфичные для Windows
MacOS преуспевает в:
- Разработка под iOS/macOS
- Рабочие процессы на базе Unix
- Веб-разработка
- Кросс-платформенные приложения
Поддержка IDE и инструментов
Большинство современных инструментов разработки одинаково хорошо работают на обеих платформах, но некоторые ключевые различия все же остаются:
Тип инструмента | Windows | MacOS |
---|---|---|
Текстовые редакторы | VS Code, Sublime, Atom | VS Code, Sublime, Atom |
Полноценные IDE | Visual Studio, JetBrains | Xcode, JetBrains |
Терминал | PowerShell, WSL2 | Unix Terminal |
Контейнеры | Docker + WSL2 | Docker в нативном режиме |
Выбор между Windows и MacOS для разработки часто сводится к следующему:
1.Ваша целевая платформа
2.Необходимые инструменты разработки
3.Экосистема команды
4.Аппаратные предпочтения
Со временем обе платформы стали более эффективными в поддержке современной разработки, и поэтому выбор между ними будет уместен в большинстве ситуаций. На самом деле важно то, как использовать сильные стороны платформы для удовлетворения ваших требований к разработке и стилю работы.
Для большинства разработчиков важна не широта охвата платформы, а ее глубина. Подумайте о своих основных целях в разработке, силе команды и инструментах, с которыми вам, скорее всего, будет удобно или даже приятно работать в день внедрения.
ИИ-помощники: Copilot vs Siri – трансформация пользовательского опыта
Восход интеграции ИИ
Вовлечение помощников ИИ в коммуникативные медиакоманды представляет собой существенное изменение в подходе к человеко-машинным отношениям. Windows Copilot и Siri от Apple – поразительно разные стратегии помощи ИИ, каждая из которых отражает философию дизайна взаимодействия соответствующей материнской корпорации.
Сравнение основных возможностей
Функция | Windows Copilot | Siri на MacOS |
---|---|---|
Управление системой | Глубокая интеграция с ОС | Базовое управление системой |
Обработка языка | Продвинутое понимание контекста | Хорошо для конкретных команд |
Визуальные задачи | Анализ и редактирование изображений | Ограниченное визуальное взаимодействие |
Поддержка программирования | Интеграция с GitHub Copilot | Нет встроенной поддержки программирования |
Интеграция с приложениями третьих сторон | Растущий экосистема приложений | Ограничено экосистемой Apple |
Функциональность в оффлайн режиме | Ограниченные оффлайн функции | Базовые оффлайн команды |
Windows Copilot: Новый рубеж
Windows Copilot – это амбициозный подход Microsoft к вычислениям на основе искусственного интеллекта. Эта служба, которая стала доступна в Windows 11, выходит далеко за рамки обычных возможностей виртуального помощника, предоставляет контекстную помощь и поддерживает все функции системы.
Ключевые преимущества:
- Бесшовная интеграция с настройками и функциями Windows
- Расширенные возможности анализа документов и изображений
- Мощная помощь в кодировании с помощью GitHub Copilot
- Обработка естественного языка для решения сложных задач
Например, Copilot может помочь пользователям:
- Резюмировать объемные документы
- Создавать и редактировать изображения
- Устранять неполадки в системе
- Предоставлять предложения по кодированию в режиме реального времени
Выполнение ежедневных заданий
Тип задачи | Возможности Copilot | Преимущества для пользователя |
---|---|---|
Настройки системы | Прямое управление | Более быстрая настройка |
Создание контента | Предложения, основанные на ИИ | Повышение продуктивности |
Решение проблем | Контекстуальные решения | Сокращение времени на устранение неполадок |
Разработка | Предложения по коду | Ускорение процесса кодирования |
Анализ документов | Умное резюмирование | Лучшая обработка информации |
Siri на macOS: интеграция и согласованность
Напротив, хотя Copilot кажется более амбициозным, чем Siri на MacOS, последняя, на самом деле, гораздо лучше справляется с задачей универсального присутствия во всей экосистеме Apple. В последнем случае акцент делается на простом удобстве использования приложений, а не на чем-то еще, за исключением, возможно, передовых инноваций.
Основные сильные стороны:
Единый опыт работы на всех устройствах Apple
Надежное выполнение основных команд
Сильная ориентация на конфиденциальность
Плавная интеграция с приложениями Apple.
Сравнение ежедневного использования
Функция | Реализация Siri | Опыт пользователя |
---|---|---|
Управление устройством | Базовые системные команды | Просто и надежно |
Календарь/Напоминания | Глубокая интеграция | Без усилий планирование |
Управление файлами | Ограниченно, но точно | Основные операции с файлами |
Электронная почта/Сообщения | Фокус на экосистеме Apple | Плавное общение |
Межустройственная связь | Поддержка Handoff | Бесшовные переходы |
Влияние на производительность
Реальное влияние этих ИИ-помощников на производительность в значительной степени зависит от рабочего процесса пользователей и инвестиций в экосистему. Вот как они влияют на разные группы пользователей:
Профессиональные пользователи
Тип пользователя | Преимущества Copilot | Преимущества Siri |
---|---|---|
Разработчики | Помощь в кодировании, помощь с документацией | Быстрые команды терминала |
Создатели контента | Редактирование изображений на основе ИИ, предложения по контенту | Упрощенное управление файлами |
Бизнес-пользователи | Анализ документов, помощь в подготовке презентаций | Управление календарем и коммуникации |
Студенты | Помощь в исследованиях, помощь в написании | Интеграция для ведения заметок |
Конфиденциальность и работа с данными
Принципиальное различие между этими помощниками заключается в их подходе к обработке данных:
Аспект | Windows Copilot | Siri |
---|---|---|
Обработка данных | Облачная, частично локальная | Преимущественно локальная |
Контроль конфиденциальности | Настройки настраиваемые | Строгий акцент на конфиденциальности |
Сбор данных | Более широкий | Ограниченный сбор |
Использование в оффлайн | Ограниченная функциональность | Доступны базовые функции |
Перспективы
Поскольку функциональность искусственного интеллекта продолжает развиваться и совершенствоваться, готовность Microsoft расширять возможности «Копилота» предвосхищает будущее, в котором он станет основным компонентом операционной системы. С другой стороны, Apple придерживается консервативного подхода к Siri, надеясь на то, что усовершенствования могут быть сделаны без нарушения конфиденциальности пользователя.
Ключевые соображения при выборе между системами:
Фактор | Windows с Copilot | MacOS с Siri |
---|---|---|
Инновации | Быстрые обновления функций | Стабильные, проверенные функции |
Экосистема | Интеграция с Microsoft 365 | Экосистема Apple |
Конфиденциальность | Настройки конфиденциальности | Приватность на первом месте |
Кривая обучения | Крутая, но приносящая результаты | Мягкая кривая обучения |
Потенциал для будущего | Быстрое развитие ИИ | Сдержанное развитие |
Выбор между этими ИИ-помощниками должен соответствовать вашим предпочтениям:
- Предпочитаемая экосистема
- Требования к конфиденциальности
- Потребность в передовых функциях ИИ
- Существующий рабочий процесс и инструменты.
Обе компании продолжают совершенствовать свою деятельность, поддерживаемую ИИ. Однако подход к этим инновациям у них разный. Если Windows Copilot стремится изучить практические возможности ИИ, то Siri сосредоточена на обеспечении беспрепятственного и безопасного взаимодействия с пользователем в линейке продуктов Apple Rounded.
Практические соображения
В спорах между MacOS и Windows пользователи часто ставят во главу угла вопросы цены. Положительной стороной Windows является широкий спектр устройств – от нетбуков стоимостью ₽30000 до рабочих станций стоимостью более ₽300000. Напротив, люди, предпочитающие MacOS, вынуждены нести большие первоначальные затраты на дорогие системы Mac, которые, благодаря лучшей оптимизации системы и долговечности оборудования, позволяют использовать компьютер в течение значительного времени.
Динамика аппаратной экосистемы
- Windows предлагает более широкий выбор аппаратного обеспечения и гибкость в обновлении.
- MacOS достигает максимальной производительности за счет контролируемой интеграции оборудования
Безусловно, переход на новую систему подразумевает понимание кривой обучения, а простота использования способствует принятию любой системы. Windows сохраняет свою пользовательскую базу благодаря своей распространенности и многочисленным возможностям настройки, что, однако, означает, что она страдает от этой проблемы. В отличие от Windows, операционная система Mac может быть сложной для тех, кто привык к Windows, поскольку она обеспечивает большую унификацию устройств и меньшую ответственность за обслуживание со стороны пользователя благодаря автоматическому уходу за системой.
Заключение
Когда речь заходит о MacOS и Windows, выбор, как правило, зависит от предпочтений, а не от превосходства. Благодаря своей эталонной гибкости и простоте использования Windows занимает все большую долю рынка. Именно поэтому на всех мини-компьютерах Geekom предустановлена новейшая операционная система Windows 11 pro. С одной стороны, MacOS устанавливает радикальный подход на рынке для тех творческих профессионалов и программистов, которые стремятся избавиться от Windows. И все это в контексте того, как они воспринимают себя в качестве пользователей.
Для профессионалов, делающих выбор сегодня:
Разработчики выигрывают от рабочего процесса macOS на базе Unix и возможностей разработки под iOS
Профессионалы творческих профессий находят преимущества в оптимизированной производительности творческого пакета macOS.
Бизнес-пользователи могут предпочесть Windows за более широкую совместимость с корпоративным ПО.
Студенты могут воспользоваться доступностью Windows, сохраняя при этом доступ ко всем необходимым инструментам.
Со временем обе модели развития неожиданно разойдутся в разные стороны, где Windows интегрирует функции искусственного интеллекта в виде Copilot, а Mac усилит преимущества своей среды за счет оптимизации аппаратного обеспечения с помощью Apple Silicon. Таким образом, это продолжающееся развитие идет на пользу всем пользователям, независимо от того, Windows это или Mac.
Уровень сложностиПростой
Время на прочтение50 мин
Количество просмотров51K
Предисловие
Что ж, перед тем, как перейти к содержательной части, обозначу, в чем я вижу здесь проблему, стоящую упоминания. Компьютер — довольно сложное в управлении устройство. Если вам кажется, что это не так, попробуйте вспомнить свое первое знакомство с клавиатурой, когда вам надо на ней что-то напечатать, а где буквы — вы еще не выучили. Я вот помню, что у нас это была целая лабораторная работа — набрать на компьютере короткое стихотворение Пушкина из трех строф, и на это отводился весь академический час — 45 минут. И этого еще не хватало, потому что все время, отведенное на выполнение задания, занимал поиск «да где же тут эта чертова буква на этой чертовой клавиатуре».
Это понимали люди, стоявшие у истоков тех рек, чье мощное течение создало ландшафт IT-экосистемы в том виде, в котором мы имеем честь наблюдать его в настоящее время. Одним из таких людей был специалист по UI-UX интерфейсам, одно время возглавлявший данное направление в корпорации Apple, а также летчик-любитель Джеф Раскин. Именно он сформулировал основной принцип проектирования эргономичных (удобных для использования) интерфейсов, применимый равно как для взаимодействия людей и самолетов, так и людей и компьютеров — принцип монотонности.
Этот принцип, хотя и расшифровывается достаточно просто и понятно (Раскин раскрывал его как «одинаковое действие всегда должно вести к одинаковому результату», а, в качестве пояснения использовал примеры из авиации, вроде тех, что «представьте, что вы пилот самолета, и потянули штурвал на себя, а самолет, вместо того, чтобы пойти вверх, начал пикировать, и на таком самолете вы могли бы нормально летать только после очень долгого переучивания»), имеет несколько следствий. Например, таких:
-
переучиваться больно и тяжело
-
выгоды от переучивания должны превышать затраченный на переучивание труд
-
лучше сразу учиться делать правильно (эргономично и экономно), чтобы не пришлось переучиваться
Что ж, купив макбук и, попробовав на нем поработать, я почти сразу осознал, что либо мне придется переучиваться под принятые в этой экосистеме правила, либо я попытаюсь как-то настроить систему, чтобы она вела себя так, как я привык, и как мне надо. Ну, я почему-то решил попробовать второй вариант, и у меня в общем и целом получилось, хотя не полностью и не окончательно. Вот, что я предпринял.
Часть 1. Что не так и что с этим можно сделать?
-
Штатный Alt-Tab не работает (так, как должен). Решилось установкой бесплатной опенсорсной программы AltTab.
-
Непривычные (для виндузятника) хоткеи. Решается тем, что в штатных настойках клавиатуры отключаются почти все хоткеи, назначенные по умолчанию, а потом постепенно, по мере использования, перенастраиваются на привычные.
-
Штатное в Windows и в Ubuntu переключение на самые нужные приложения по Win-1, Win-2, Win-3 и т.д. не работает. Решилось установкой бесплатной программы Snap (спасибо за совет коллеге Алексею. Алексей, привет!)
-
Штатное переключение РУС/ЛАТ по Caps Lock есть и работает, но в моём специальном случае (надо часто подключаться по RDP к машинам с Windows) очень быстро задолбало его включать и отключать. Решилось созданием клавиатурной раскладки ruscaps в бесплатной программе Ukelele (точно такое же концептуально решение я использую и на Windows, которое подсмотрел в статье Ассемблер/дизассемблер клавиатурных раскладок Windows с помощью flat assembler здесь же на Хабре. Работает этот способ хорошо как на маке, так и на винде, по сути это оказался и там и там самый безглючный способ использовать переключение языка по Caps Lock. В Приложении техническая инструкция, как настроить[1]).
-
При использовании такого способа переключения клавиатурных раскладок очень хочется иметь наглядный индикатор, какая именно сейчас раскладка активна, а штатного индикатора состояния Caps Lock, которое и служит индикатором активной раскладки, в menu bar нет. Решилось установкой бесплатной программы Captin (программа работает хорошо, хотя по таймеру состояние Caps (нажато или нет) не опрашивает, отчего иногда кажется, что она зависла)
-
Как семантический эквивалент клавиши Ctrl в системе используется специфичная для маков клавиша Command, которой ни на каких других компьютерах нет. Тут пользователю надо либо переучиться, изменив свои десятилетиями наработанные клавиатурные привычки, либо попытаться настроить систему под себя. Второй путь сложнее, но я пошел по нему, потому что Vim (для мака это будет MacVim, один из основных моих инструментов) ничего не знает про клавишу Command, и по умолчанию использует клавиатурные комбинации с клавишей Control.
-
Idea в клавиатурной раскладке по умолчанию на маках использует Command вместо Ctrl, но это решается перенастройкой клавиатурной схемы, что требует много телодвижений, но хотя бы работает (скорее всего, она, как и MacVim, ловит скан-коды, и поэтому может использовать любую клавиатурную раскладку, но почему-то в комплект не положили схему «Idea classic как в Windows», где вместо Command был бы Control, и ее пришлось городить самостоятельно).
-
Очень непривычно себя ведут операции манипулирования с текстом в обычных текстовых полях и редакторах, в частности, при вводе текста в textarea в браузерах, и т.п. Сочетания Ctrl-Home, Ctrl-End, Shift-Ctrl-Home, Shift-Ctrl-End, и аналогичные сочетания с кнопками курсора делают не совсем то (или совсем не то), что они делают в Windows и в Ubuntu. Это приводит просто к ужасному дискомфорту, когда Idea и Vim ведут себя как надо (ну, почти), а редактирование текста в браузерной форме (набить заметку в Evernote) или штатном редакторе вроде TextEdit использует совершенно другие сочетания клавиш для тех же самых действий. Так жить совершенно точно нельзя и не нужно, и, к счастью, это можно почти полностью исправить с помощью настроек: DefaultKeyBinding (в Приложении инструкция, как настроить[2]).
-
горячие клавиши в Chrome (Ctrl-T, Ctrl-W, Ctrl-L, Ctrl-F, F3) не работают по дефолту, потому что вместо Ctrl тут для них нужно использовать Command. Решилось штатными настройками горячих клавиш в System Settings — Keyboard — Application hotkeys (заменить Command на Ctrl, и клавиатурное управление наиболее частыми действиями в Chrome становится консистентным с Windows).
-
Аналог «ножниц» (сделать скриншот части экрана) есть, но сочетание клавиш для его активации не такое, как в Windows. Решилось назначением хоткея Win-Shift-S (такой же, как в Windows) при помощи штатных средств (системные настройки хоткеев)
-
Некоторого привычного софта нету, а есть только аналоги. Решается тем, что приобретается новый опыт, как использовать эти аналоги для решения задач, справляться с которыми ранее помогал привычный софт. (привычный Tortoise Git или DBForge не поставишь, но в Idea есть почти вся нужная функциональность, которую нужно освоить, попутно освоив способы, как обходить присущие этой функциональности баги и шероховатости. Idea хорошая программа, и JetBrains хорошая корпорация, но UX дизайнеров уровня Раскина там нет ни одного, и, кажется, не будет никогда).
-
вместо Far Manager тут Midnight Commander. Некоторой функциональности в нем все равно нет, но базовые вещи (вроде пользовательского меню с пунктами «Отправить в MacVim», «Показать в Finder», «Скопировать путь» и т.п.) настроить вроде получилось (в Приложении инструкция, как именно [3]). Также есть возможность сделать список с самыми часто используемыми директориями, и SFTP-подключения (которые умеют использовать ключи из ssh-agent). В настройках программы Terminal нужно включить галку «Use Option as Meta key», и тогда оно станет реагировать на клавиатурные сочетания, включающие Meta key (это Alt на обычной клавиатуре), а их там немало.
-
кое-где всё равно используются только маковские хоткеи. Вставить текст из буфера в терминале получается только по Command-V. Решилось… никак не решилось, но таких мест мало, и я решил, что пока с ними можно смириться. Возможно, по мере обживания конфигов найдется способ что-то подправить и там.
-
Концепция «рабочих простанств» (Spaces) оказалась сравнительно удобной для использования вместе с виртуальными машинами, но пришлось немного подкрутить: — штатный хоткей для перемещения туда-сюда между пространствами это Ctrl-Left и Ctrl-Right, который использовать совершенно невозможно, потому что в моем представлении это сочетание клавиш должно использоваться для перемещения курсора между словами при редактировании текста. Это довольно просто перенастраивается штатными средствами (я сделал Ctrl-Alt-Shift-(Left | Right). Второй нюанс в том, что мне нужно, чтобы виртуальная машина ловила все хоткеи, в том числе те, для которых назначено действие в хост-системе (Alt-Tab, Win-1, Win-2, Win-3, …). И этого можно достичь, если в настройках Parallels включить пункт «Send macOs system shortcuts = Always». Но побочным следствием такого будет то, что по Ctrl-Alt-Shift-Right войти в виртуальную машину можно, а выйти из нее по Ctrl-Alt-Shift-Left уже нельзя! К счастью, нашелся workaround — если двинуть мышь вверх, чтобы показалось системное меню Parallels, то Ctrl-Alt-Shift-Left обработается хост-системой. Ну и еще одно, что надо упомянуть — по умолчанию macOs использует поведение «Automatically rearrange spaces based on most recent use», что, возможно, иногда оправдано, но нарушает вышеупомянутый принцип монотонности совершенно явным образом (Раскин бы не одобрил), и чаще всего лучше эту опцию выключить.
-
Еще часто критикуют Макось за ее «недостаточные» возможности, предназначенные для тайлинга (расположения окон приложений по рабочему пространству одного или нескольких мониторов). Тут ничего толкового сказать не могу, потому что мой сценарий использования — это окно приложения, распахнутое на весь экран и переход к этому окну «монотонным» способом — Vim: Win-1, Chrome: Win-2, Far (Terminal): Win-3 и так далее. Однако в комментариях к предыдущей статье был упомянут проект https://github.com/ianyh/Amethyst — на первый взгляд его возможностей должно быть достаточно для тех, кто привык раскладывать из окон красивую мозаику (автор вдохновлялся xmonad, когда его делал). Я, возможно, когда-нибудь попробую его поюзать.
Часть 2. Субъективные реплики к пунктам статей этой своеобразной серии.
Читайте только если занудства в первой части вам показалось маловато, и надо бы добавить еще.
Тут попробую записать свое восприятие проблем, которые при переходе на Mac испытали авторы двух перечисленных статей. Начну с более старой опытной «7 причин почему вам не стоит переходить на Mac, или как справиться с этой демонической машиной»
-
Бестолковый Dock Bar
Мне он не показался бестолковым, потому что я, пользуясь Windows с версии Windows 95, еще помню, как эволюционировал Task Bar там. Раньше он выглядел так:
но, начиная с Windows Vista, стал выглядеть очень похоже на Mac-версию. В Windows 7 иконки приложений стали более квадратными (чтобы их помещалось по горизонтали больше) — как и в Mac, добавились визуальные элементы индикации, отображающие текущий статус приложения (запущено, не запущено, сколько окон — как и в Маке, скачивает / занято процессом — лучше, чем в Маке), но в целом никаких неудобств докбар не вызвал, потому что этот элемент управления работает и ведет себя почти так же, как и в Windows. Здесь мы видим пример процесса, когда UI-элементы из разных систем эволюционируют, перенимая друг у друга лучшие черты, и превращаются плюс-минус в одно и то же. Мое имхо: докбар — хорошо сделано, еще и выглядит eye-candy. Доставить программу Snap, и оно еще и на клавиши начинает реагировать монотонно.
-
Планшетный LaunchPad
Это просто второстепенное приложение для запуска других приложений, которое использует метафоры UI, принятые на планшетах — вроде «перетащите Pages на Numbers, чтобы сделать Productivity», и т.п. Никаких проблем это не вызывает, потому что этим можно пользоваться точно так же, как на iPad, если привык к такому UI-решению, либо не пользоваться вовсе, если оно не нужно (как мне). А вот облегчить переходный период пользователю iPad, который впервые купил себе Макбук зачем-то, такое приложение может.
-
Активные углы
Тут пока воздержусь от комментария, потому что не пользовался, и не имею hands-on experience, как оно. Но в теории, эта штука обладает свойством монотонности, то есть бросок мыши в конкретный угол экрана должен приводить к одинаковому результату. Поэтому, вероятно, если настроить эту фичу правильно, то она скорее полезна, чем вредна.
-
Окна — боль
Тут сценарии использования тоже могут отличаться, но по моим многолетним наблюдениям за собой и за окружающими, основной сценарий использования — это окно приложения, распахнутое на весь экран, и переключение между несколькими такими «максимизированными» окнами по мере того, какое приложение нужно. История с тайловыми менеджерами, призванными городить хитрую мозаику из окон запущенных приложений, почти никогда не находит применений в практике (исключения — двухпанельный интерфейс файловых менеджеров вроде Far, mc, Total Commander — но и там удобнее оказалось это сделать в виде двух панелей внутри одного приложения, и дашборды мониторинга, где надо одновременно выводить много метрик (визуально оформленных как градусники, спидометры, энцефалограммы, и т.п.) в реальном времени — но и там оказалось удобнее сделать это в чем-то вроде Графаны). В результате эти кнопки светофорных цветов оказались не особо нужны, поэтому и не особо мешают (хотя то, что они ведут себя по разному для разных приложений — это стыд, позор и нарушение принципа монотонности Раскина — например, красная кнопка может просто «свернуть» приложение, а может отправить виртуальную машину в сон, что, хотя концептуально и похоже на «свернуть», а все же значительно отличается, потому что при отправке в сон, в отличие от свертывания, порвутся открытые сокетные соединения).
-
Full Screen — выбор между плохим и ужасным
Вообще в теории Full Screen режим — это хорошо, потому что вспомогательные элементы управления прячутся и не отвлекают внимания, а нужное в данный момент приложение занимает всё доступное место. На практике же это оказывается неудобным, потому что прячутся не только ненужные элементы интерфейса, но и нужные тоже (menu bar вверху, где нужно обычно не само меню, а часы, календарь, текущая раскладка, статус клавиши CapsLock), докбар (где нужна иконка System Monitor с текущей загрузкой процессора), и подобные мелочи. Эту информацию о текущем статусе системы наверняка можно реализовать как дополнительное приложение, которое будет показывать ее и в полноэкранном режиме тоже, в виде какого-нибудь полупрозрачного окна, но такое приложение надо либо искать, либо писать. Кстати, это мысль.
-
Trackpad
Тут я промолчу, потому что не люблю использовать трекпад, и, когда возможно, использую по привычке мышь. Хотя трекпад хороший, работает, отзывчивый и чувствительный. Для случаев, когда совсем никакой мыши нет, наверное, можно перебиться.
-
Touch Bar
Про Touch Bar либо хорошо, либо ничего. Его убрали в новых макбуках, и правильно сделали.
Теперь про статью «Перейти с Linux на macOS и не сойти с ума».
Проблема: Dock занимает много места, принося минимальную пользу.
Решение: убрать влево, включить автоскрытие.
Почти согласен. Тоже убрал влево, но автоскрытие выключил, потому что от него (имхо) больше вреда, чем пользы. Автоскрытие было и есть и в таскбаре Windows тоже уже очень давно, и там оно тоже приносит больше вреда, чем пользы, по причинам, перечисленным выше.
Проблема: Command + Tab (аналог Alt + Tab в других ОС) показывает все приложения со всех рабочих столов, непригоден для переключения между несколькими окнами одного приложения.
Решение: использовать альтернативный переключатель окон AltTab, использовать жесты тачпада.
Тут благодарность автору за наводку на бесплатную опенсорсную программу Alt-Tab. Работает очень хорошо, хотя и не совсем так как в Windows, но в чем-то даже лучше.
Проблема: Тайлинг окон, нормальное разворачивание окна на весь экран.
Решение: Rectangle.
Для меня это не оказалось проблемой, потому что окно разворачивается на весь экран двойным кликом по заголовку (как и в Windows) и дальше остается в этом состоянии до перезагрузки. Еще можно зажать Alt на клавиатуре и мышкой нажать на зеленую кнопку — это, оказалось, как раз разворачивание окна на весь экран.
Проблема: Переключение раскладки клавиатуры по CapsLock для тех, кто быстро печатает и часто переключает раскладки.
Решение: Использование Karabiner-Elements.
А вот тут мне пришлось почесать репу. Я тоже быстро печатаю, и тоже привык использовать CapsLock для переключения РУС/ЛАТ. В Макоси есть для этого штатная функция (Use CapsLock to switch to and from US, что-то такое), и, сначала показалось, что это прямо то, что нужно. Оно действительно работает хорошо, пока не надо использовать странные сценарии, вроде таких как «подключиться по RDP к Windows-машине», где клавиатурную раскладку тоже нужно переключать по CapsLock. TL;DR: рабочим решением оказалось сделать то же самое, что и под Windows, а именно — сконструировать кастомную клавиатурную раскладку. На Маке это оказалось сделать (с помощью программы Ukelele) даже проще, потому что клавиатурная раскладка здесь — это файл в xml-формате, а на Windows — это полноценная DLL в формате PE, который еще разный под 32, 64 и ARM архитектуру должен быть. Под ARM (aarch64) у меня пока не получилось такую DLL собрать. Пичалька.
Проблема: Непривычная русская раскладка.
Решение: Использование раскладки «Russian — PC».
Для меня это не оказалось проблемой, потому что я сразу последовал этому совету, и поставил Russian — PC. И, хотя потом пришлось городить свою раскладку, русские буквы я разложил в ней именно так, как в Russian — PC, которая была взята за основу. Спасибо автору за хороший совет.
Проблема: Autocomplete в терминале.
Решение: Fig.
Тут я это решение использовать пока не стал, потому что мне настолько хитрое решение пока не нужно, а автодополнение названий веток в Git по Tab как-то само заработало (то ли после установки Homebrew, то ли сразу было). Терминал (zsh) можно подвергнуть настройке, чтобы показывал текущую ветку git. Для этого в ~/.zshrc нужно дописать примерно такое (честно утянуто со StackOverflow):
Hidden text
parse_git_branch() {
git branch 2> /dev/null | sed -n -e 's/^\* \(.*\)/[\1]/p'
}
COLOR_DEF='%f'
COLOR_USR='%F{243}'
COLOR_DIR='%F{197}'
COLOR_GIT='%F{39}'
NEWLINE=$'\n'
setopt PROMPT_SUBST
export PROMPT='${COLOR_USR}%n@%M ${COLOR_DIR}%d ${COLOR_GIT}$(parse_git_branch)${COLOR_DEF}%% '
Проблема: Docker-контейнеры тормозят.
Решение: нет.
Тут промолчу, ибо сам еще не налаживал и не запускал, но, говорят, что если надо запустить что-то x64, то придется использовать какое-то странное решение, в котором одновременно встречаются слова «docker» и «qemu», и оно вроде как еще потребляет много оперативы. (A work around is to spin up an x86 container using Colima, https://oralytics.com/2022/09/22/running-oracle-database-on-docker-on-apple-m1-chip/)
Проблема: Виртуальная машина с Windows и Linux.
Решение: UTM или QEMU.
Там автору подсказали, что «более лучшее» решение — это Parallels. Работает очень хорошо, Microsoft совсем недавно (февраль 2023) что-то даже официально сертифицировала, что Parallels для запуска Windows на макбуках с процессором Apple Silicon — это ОК, но все же Windows работает в режиме виртуальной машины там. То есть софт, который не лезет в ядро, вроде как работает весь, и с отличной, почти native, скоростью, но драйвера не запустятся, даже сравнительно безопасные, типа виртуальных сетевых интерфейсов для openconnect.
Часть 3. Минусы и плюсы.
Начну с субъективных минусов (которых достаточно), чтобы закончить субъективными плюсами (которых тоже немало).
Сильнее всего не понравилось — это поведение курсора и системы выделения текста в штатных полях редактирования текста. Как-будто специально сделано, чтобы виндузятники не лезли на мак, и наоборот, с целью огораживания. Это оказалось возможным преодолеть (не полностью), но сама необходимость этим заниматься (гуглить нетривиальный способ настройки, а затем еще тюнить его под мои потребности) — создало достаточное количество предвзятости, немного даже переходящей в негатив. При этом в GUI линуксов, сколько их помню, редактирование текста вело себя так же, как в Windows, либо очень похоже.
Еще напрягло (и напрягает до сих пор) скроллинг по колесу внешней (не эппловской, а логитековской) мыши: он то слишком быстрый, то слишком медленный, и нельзя настроить, чтоб было привычно, как в Windows.
Не понравилось, что частота сканирования внешней клавиатуры совсем уж мала (внутренняя работает без нареканий), и с нее Caps иногда не включается или не выключается, когда жмешь его слишком быстро. «А вы просто не жмите так, а жмите помедленнее, с чувством, с толком, с расстановкой», — ну, что ж, такой совет помогает. Но вот в Windows никогда не крохоборничали на этой частоте, и оно всегда, сколько помню, отрабатывало моментально (с одним исключением — когда у Windows забивается дисковая очередь — вот тогда даже ядро начинает тормозить в базовых функциях реагирования на мышь и клавиатуру)
Что еще? Ну, непривычное и неконсистентное поведение кнопок управления размером окна… но это не воспринималось, как напряг, просто местная особенность.
Остальное же плюс-минус точно такое же, как и в других компьютерах. Процессор с регистрами, память, прерывания, планировщик, тред, файл, диск, сокет, пайп, GUI с реактивной моделью, что тут еще можно придумать… [место для смайлика с разведенными руками ¯_(ツ)_/¯ ]
Теперь про плюсы.
-
не глючит (не глючит сама ОС, приложения, к сожалению, еще как глючат и вылетают, в том числе даже системный WindowServer)
-
не тормозит (заставить тормозить не удалось)
-
не греется и не жужжит вентиляторами (заставить греться и жужжать получилось, но для этого надо было выключить режим low power mode, запустить виртуалку с виндой и в ней запустить GPU Stress Test системы «волосатый бублик», при этом включив еще опции «cpu burner», и запустить этот cpu burner параллельно с бубликом)
-
производительный (10 ядер, быстрая оперативка, можно запустить виртуальную машину с виндой и в ней упомянутый «волосатый бублик», и он будет показывать 60 FPS на FullHD. Не знаю, умеет ли так какой-либо ноутбук на Windows).
-
почти все нужные тулзы тут есть сразу (ssh, openssl, base64, md5, curl, split, xmllint, вот это вот все) — на винде сейчас приходится доустанавливать даже банальный telnet. Git, как я понял, ставится вместе с Homebrew, и потом тоже доступен везде.
-
чего нету — обычно легко доустанавливается через Homebrew (типа jq для форматирования JSON или nginx, тоже бывает нужен, хотя бы захостить статику)
-
обнаружил, что MacVim довольно тесно интегрируется с шеллом (zsh), и может исполнять команды шелла прямо если написать непосредственно в текущем документе (а не в режиме командной строки), причем это корректно отрабатывает даже с sudo-командами, когда надо вводить пароль, или ping, которые выдают строку за строкой. Это повышает удобство использования CLI-утилит просто в разы, и на Винде такой тесной интеграции мне достичь не удалось, хотя дёргать CLI-утилиты таким способом можно и там тоже (см. Приложение [4]).
-
долго держит батарейку (не проверял, потому что у меня компьютер практически всегда подключен к сети, и мне это не очень актуально)
-
умеет подзаряжаться даже от старых и слабых телефонных зарядок. Как-то у меня не было нормального мощного зарядного устройства, и пришлось подключить разряженный макбук к тому, что было (телефонное зарядное устройство, 5В, 2А). Часов за 9 он набрал полный заряд. Не видел, чтобы виндобуки так умели делать.
-
есть Spotlight Search (тот самый, который по Command-Space) — вот он работает быстро и принцип монотонности соблюдает как раз просто канонически. Хотя, справедливости ради, похожий по назначению Everything Search Engine под Windows работает не хуже, если не считать, что функциональность последнего ограничена поиском только по именам файлов и каталогов.
-
вроде как не кряхтит даже под нагрузкой (две виртуальных машины, Ubuntu и Windows 11, Идея, запущенный java-проект и запущенный dev server под node, запущенный Хром и остальное по мелочи) — и оно не демонстрирует никаких подтормаживаний, хотя график Memory Pressure в мониторе ресурсов уже устойчиво уходит в желтую зону. Это у меня с 16 Gb RAM конфигурация, а бывают и с 32.
-
экран и встроенная клавиатура, говорят, хороши, но я пользуюсь нормальной внешней клавиатурой со стандартной раскладкой, к которой приспособлен мой навык десятипальцевой слепой печати, и, по возможности, внешним монитором тоже (4K 60 Hz без проблем работает через HDMI), так что тут оценить в полной мере не могу.
-
Имеется rosetta2 (которую надо, сначала, доустановить с помощью sudo softwareupgrade rosetta2), которая позволяет запускать собранные (для Макоси, конечно) бинарники с архитектурой x86_64. Помогает, если нужно запустить что-то, что под aarch64 еще не успели пересобрать.
-
Как Ubuntu, так и ARM-версия Windows 11 запускаются в Parallels, причем работают почти что с native-производительностью. При этом Windows с помощью какой-то магии умеет запускать exe-шники всех трех архитектур: x86, x86_64 и ARM (hint: чтобы посмотреть, что это за exe-шник, можно использовать встроенную в макбук программу file). Однако полного чуда все равно не происходит, и кое-что все равно не работает: некоторые драйверы (у меня не завелся openconnect под Windows, потому что он не смог установить tap/tun драйвер, или что-то такое), а также не смогла загрузиться DLL с клавиатурной раскладкой, предназначенной для переключения по Caps Lock, собранная под x86_64, причем система ее видит и показывает в списке доступных клавиатурных раскладок, но не может использовать. Даже Microsoft Keyboard Layout Creator, запущенный под ARM-виндой, собирает DLL под архитектуру x86_64, и она под этой виндой оказывается неюзабельной.
-
красиво и престижно иметь красивый и престижный компьютер с яблоком (ну, тут, как бы да, но как бы и не совсем)
Эпилог. «И как тебе макбук»?
Скорее стал нравиться, после полугодовой доработки напильником, но фэнбойства никакого не появилось и близко. Как-то так. У этого компьютера есть ощутимые плюсы, которые, может быть, перевешивают минусы, но минусы никуда не деваются, а устранить их могут только в корпорации Apple, потому что это вопросы идеологии. «Является ли такое поведение системы багом или фичей», вот в чем вопрос.
Стоило ли оно того (полгода не очень больших, но всё же усилий, чтобы сконфигурировать этот макбук под мои потребности виндузятника)? Вопрос почти риторический. В моем случае — скорее это было не оправдано. На Винде у меня уже всё было готовое (не только набор софта, но и клавиатурные привычки и наработанные способы решения задач), а тут мне пришлось многое заново изучать, настраивать и конфигурировать. Но с другой стороны, любим же мы компьютерщину не за то, что все настроено и работает, а именно за то, что можно возиться и все настраивать и улучшать :). По принципу «put the fun back into computing — use Linux, BSD…» Поэтому с одной стороны у меня присутствует ощущение потраченных не таких уж маленьких денег и затраченного не такого уж маленького времени, чтобы настроить этот компьютер до состояния, что я могу на нем работать (а при этом он работает плюс-минус с той же отзывчивостью, скоростью и безглючностью, что и хороший виндобук), а с другой стороны, есть и ощущение некоторого удовлетворения, что я смог разобраться и настроить как мне надо, и, в процессе этого, наверное, узнал какие-то новые нюансы взаимодействия с nix-системами. От которых мы в ближайшем обозримом будущем никуда не денемся, потому что сейчас уже понятно, что мало-мальски важную инфраструктуру будут впредь выстраивать именно на открытых, а не на проприетарных решениях.
Короче, компьютер действительно тихий и быстрый, имеет запас прочности по производительности (я так и не смог его нагрузить своими текущими задачами по-полной), и, по сути, предлагает производительность хорошего десктопа в форм-факторе ноутбука, который еще и работает обычно абсолютно бесшумно (последнее для меня весьма важно).
Еще некоторое удовлетворение приносит факт, что я осилил дописать эту статью
Вот. Поздравляю всех с наступившей весной, желаю мира, добра, любви и эргономичного взаимодействия как с компьютерами, так и не с компьютерами.
Приложение. Как конкретно настроить то, сё, пятое, десятое. Технические подробности.
Мои конфиги для макоси, которые описываю ниже, я разместил в репозитории https://github.com/konstlvov/macos.
-
Переключение РУС/ЛАТ по CapsLock. Решается с помощью создания кастомной клавиатурной раскладки «ruscaps» с помощью программы Ukelele для Макоси. Эта программа предоставляет графический интерфейс, с помощью нажимания на кнопки в котором в конце концов получается примерно такой файл:
Hidden text
<?xml version="1.1" encoding="UTF-8"?>
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
<!--Created by Ukelele version 359 on 2023-02-24 at 13:05 (GMT+3)-->
<!--Last edited by Ukelele version 359 on 2023-02-26 at 13:38 (GMT+3)-->
<keyboard group="126" id="-5618" name="ruscaps" maxout="1">
<layouts>
<layout first="0" last="17" mapSet="ANSI" modifiers="Modifiers"/>
<layout first="18" last="18" mapSet="JIS" modifiers="Modifiers"/>
<layout first="21" last="23" mapSet="JIS" modifiers="Modifiers"/>
<layout first="30" last="30" mapSet="JIS" modifiers="Modifiers"/>
<layout first="33" last="33" mapSet="JIS" modifiers="Modifiers"/>
<layout first="36" last="36" mapSet="JIS" modifiers="Modifiers"/>
<layout first="194" last="194" mapSet="JIS" modifiers="Modifiers"/>
<layout first="197" last="197" mapSet="JIS" modifiers="Modifiers"/>
<layout first="200" last="201" mapSet="JIS" modifiers="Modifiers"/>
<layout first="206" last="207" mapSet="JIS" modifiers="Modifiers"/>
</layouts>
<modifierMap id="Modifiers" defaultIndex="10">
<keyMapSelect mapIndex="0">
<modifier keys=""/>
</keyMapSelect>
<keyMapSelect mapIndex="1">
<modifier keys="anyShift"/>
</keyMapSelect>
<keyMapSelect mapIndex="2">
<modifier keys="anyOption"/>
</keyMapSelect>
<keyMapSelect mapIndex="3">
<modifier keys="anyShift caps? anyOption"/>
</keyMapSelect>
<keyMapSelect mapIndex="4">
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="5">
<modifier keys="command"/>
</keyMapSelect>
<keyMapSelect mapIndex="6">
<modifier keys="anyShift command"/>
</keyMapSelect>
<keyMapSelect mapIndex="7">
<modifier keys="anyOption command"/>
</keyMapSelect>
<keyMapSelect mapIndex="8">
<modifier keys="anyShift anyOption command"/>
</keyMapSelect>
<keyMapSelect mapIndex="9">
<modifier keys="caps command"/>
</keyMapSelect>
<keyMapSelect mapIndex="10">
<modifier keys="anyControl"/>
</keyMapSelect>
<keyMapSelect mapIndex="11">
<modifier keys="caps anyControl"/>
</keyMapSelect>
<keyMapSelect mapIndex="12">
<modifier keys="anyShift caps"/>
</keyMapSelect>
</modifierMap>
<keyMapSet id="ANSI">
<keyMap index="0">
<key code="0" output="a"/>
<key code="1" output="s"/>
<key code="2" output="d"/>
<key code="3" output="f"/>
<key code="4" output="h"/>
<key code="5" output="g"/>
<key code="6" output="z"/>
<key code="7" output="x"/>
<key code="8" output="c"/>
<key code="9" output="v"/>
<key code="10" output="§"/>
<key code="11" output="b"/>
<key code="12" output="q"/>
<key code="13" output="w"/>
<key code="14" output="e"/>
<key code="15" output="r"/>
<key code="16" output="y"/>
<key code="17" output="t"/>
<key code="18" output="1"/>
<key code="19" output="2"/>
<key code="20" output="3"/>
<key code="21" output="4"/>
<key code="22" output="6"/>
<key code="23" output="5"/>
<key code="24" output="="/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output="-"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="]"/>
<key code="31" output="o"/>
<key code="32" output="u"/>
<key code="33" output="["/>
<key code="34" output="i"/>
<key code="35" output="p"/>
<key code="36" output="
"/>
<key code="37" output="l"/>
<key code="38" output="j"/>
<key code="39" output="'"/>
<key code="40" output="k"/>
<key code="41" output=";"/>
<key code="42" output="\"/>
<key code="43" output=","/>
<key code="44" output="/"/>
<key code="45" output="n"/>
<key code="46" output="m"/>
<key code="47" output="."/>
<key code="48" output="	"/>
<key code="49" output=" "/>
<key code="50" output="`"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="65" output="."/>
<key code="66" output=""/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output="/"/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output="-"/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="1">
<key code="0" output="A"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="H"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output="±"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" output="E"/>
<key code="15" output="R"/>
<key code="16" output="Y"/>
<key code="17" output="T"/>
<key code="18" output="!"/>
<key code="19" output="@"/>
<key code="20" output="#"/>
<key code="21" output="$"/>
<key code="22" output="^"/>
<key code="23" output="%"/>
<key code="24" output="+"/>
<key code="25" output="("/>
<key code="26" output="&"/>
<key code="27" output="_"/>
<key code="28" output="*"/>
<key code="29" output=")"/>
<key code="30" output="}"/>
<key code="31" output="O"/>
<key code="32" output="U"/>
<key code="33" output="{"/>
<key code="34" output="I"/>
<key code="35" output="P"/>
<key code="36" output="
"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="""/>
<key code="40" output="K"/>
<key code="41" output=":"/>
<key code="42" output="|"/>
<key code="43" output="<"/>
<key code="44" output="?"/>
<key code="45" output="N"/>
<key code="46" output="M"/>
<key code="47" output=">"/>
<key code="48" output="	"/>
<key code="49" output=" "/>
<key code="50" output="~"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="65" output="."/>
<key code="66" output=""/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output="/"/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output="-"/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="2">
<key code="0" output=""/>
<key code="1" output=""/>
<key code="2" output=""/>
<key code="3" output=""/>
<key code="4" output=""/>
<key code="5" output=""/>
<key code="6" output=""/>
<key code="7" output=""/>
<key code="8" output=""/>
<key code="9" output=""/>
<key code="10" output=""/>
<key code="11" output=""/>
<key code="12" output=""/>
<key code="13" output=""/>
<key code="14" output=""/>
<key code="15" output=""/>
<key code="16" output=""/>
<key code="17" output=""/>
<key code="18" output=""/>
<key code="19" output=""/>
<key code="20" output=""/>
<key code="21" output=""/>
<key code="22" output=""/>
<key code="23" output=""/>
<key code="24" output=""/>
<key code="25" output=""/>
<key code="26" output=""/>
<key code="27" output=""/>
<key code="28" output=""/>
<key code="29" output=""/>
<key code="30" output=""/>
<key code="31" output=""/>
<key code="32" output=""/>
<key code="33" output=""/>
<key code="34" output=""/>
<key code="35" output=""/>
<key code="36" output="
"/>
<key code="37" output=""/>
<key code="38" output=""/>
<key code="39" output=""/>
<key code="40" output=""/>
<key code="41" output=""/>
<key code="42" output=""/>
<key code="43" output=""/>
<key code="44" output=""/>
<key code="45" output=""/>
<key code="46" output=""/>
<key code="47" output=""/>
<key code="48" output="	"/>
<key code="49" output=""/>
<key code="50" output=""/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="65" output=""/>
<key code="66" output=""/>
<key code="67" output=""/>
<key code="69" output=""/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output=""/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output=""/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="81" output=""/>
<key code="82" output=""/>
<key code="83" output=""/>
<key code="84" output=""/>
<key code="85" output=""/>
<key code="86" output=""/>
<key code="87" output=""/>
<key code="88" output=""/>
<key code="89" output=""/>
<key code="91" output=""/>
<key code="92" output=""/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="3">
<key code="0" output=""/>
<key code="36" output="
"/>
<key code="48" output="	"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="66" output=""/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="4">
<key code="0" output="ф"/>
<key code="1" output="ы"/>
<key code="2" output="в"/>
<key code="3" output="а"/>
<key code="4" output="р"/>
<key code="5" output="п"/>
<key code="6" output="я"/>
<key code="7" output="ч"/>
<key code="8" output="с"/>
<key code="9" output="м"/>
<key code="10" output="ё"/>
<key code="11" output="и"/>
<key code="12" output="й"/>
<key code="13" output="ц"/>
<key code="14" output="у"/>
<key code="15" output="к"/>
<key code="16" output="н"/>
<key code="17" output="е"/>
<key code="18" output="1"/>
<key code="19" output="2"/>
<key code="20" output="3"/>
<key code="21" output="4"/>
<key code="22" output="6"/>
<key code="23" output="5"/>
<key code="24" output="="/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output="-"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="ъ"/>
<key code="31" output="щ"/>
<key code="32" output="г"/>
<key code="33" output="х"/>
<key code="34" output="ш"/>
<key code="35" output="з"/>
<key code="36" output="
"/>
<key code="37" output="д"/>
<key code="38" output="о"/>
<key code="39" output="э"/>
<key code="40" output="л"/>
<key code="41" output="ж"/>
<key code="42" output="\"/>
<key code="43" output="б"/>
<key code="44" output="."/>
<key code="45" output="т"/>
<key code="46" output="ь"/>
<key code="47" output="ю"/>
<key code="48" output="	"/>
<key code="49" output=" "/>
<key code="50" output="ё"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="65" output="."/>
<key code="66" output=""/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output="/"/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output="-"/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="5">
<key code="0" output="a"/>
<key code="1" output="s"/>
<key code="2" output="d"/>
<key code="3" output="f"/>
<key code="4" output="h"/>
<key code="5" output="g"/>
<key code="6" output="z"/>
<key code="7" output="x"/>
<key code="8" output="c"/>
<key code="9" output="v"/>
<key code="10" output=""/>
<key code="11" output="b"/>
<key code="12" output="q"/>
<key code="13" output="w"/>
<key code="14" output="e"/>
<key code="15" output="r"/>
<key code="16" output="y"/>
<key code="17" output="t"/>
<key code="18" output="1"/>
<key code="19" output="2"/>
<key code="20" output="3"/>
<key code="21" output="4"/>
<key code="22" output="6"/>
<key code="23" output="5"/>
<key code="24" output="="/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output="-"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="]"/>
<key code="31" output="o"/>
<key code="32" output="u"/>
<key code="33" output="["/>
<key code="34" output="i"/>
<key code="35" output="p"/>
<key code="36" output="
"/>
<key code="37" output="l"/>
<key code="38" output="j"/>
<key code="39" output="'"/>
<key code="40" output="k"/>
<key code="41" output=";"/>
<key code="42" output="\"/>
<key code="43" output=","/>
<key code="44" output="/"/>
<key code="45" output="n"/>
<key code="46" output="m"/>
<key code="47" output="."/>
<key code="48" output="	"/>
<key code="49" output=" "/>
<key code="50" output="`"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="65" output=""/>
<key code="66" output=""/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output="/"/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output="-"/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="6">
<key code="0" output="A"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="H"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" output="E"/>
<key code="15" output="R"/>
<key code="16" output="Y"/>
<key code="17" output="T"/>
<key code="18" output="!"/>
<key code="19" output="@"/>
<key code="20" output="#"/>
<key code="21" output="$"/>
<key code="22" output="^"/>
<key code="23" output="%"/>
<key code="24" output="+"/>
<key code="25" output="("/>
<key code="26" output="&"/>
<key code="27" output="_"/>
<key code="28" output="*"/>
<key code="29" output=")"/>
<key code="30" output="}"/>
<key code="31" output="O"/>
<key code="32" output="U"/>
<key code="33" output="{"/>
<key code="34" output="I"/>
<key code="35" output="P"/>
<key code="36" output="
"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="""/>
<key code="40" output="K"/>
<key code="41" output=":"/>
<key code="42" output="|"/>
<key code="43" output="<"/>
<key code="44" output="?"/>
<key code="45" output="N"/>
<key code="46" output="M"/>
<key code="47" output=">"/>
<key code="48" output="	"/>
<key code="49" output=" "/>
<key code="50" output="~"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="66" output=""/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output="/"/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output="-"/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="7">
<key code="0" output=""/>
<key code="36" output="
"/>
<key code="48" output="	"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="66" output=""/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="8">
<key code="0" output=""/>
<key code="36" output="
"/>
<key code="48" output="	"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="66" output=""/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="9">
<key code="0" output="A"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="H"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output=""/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" output="E"/>
<key code="15" output="R"/>
<key code="16" output="Y"/>
<key code="17" output="T"/>
<key code="18" output="1"/>
<key code="19" output="2"/>
<key code="20" output="3"/>
<key code="21" output="4"/>
<key code="22" output="6"/>
<key code="23" output="5"/>
<key code="24" output="="/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output="-"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="]"/>
<key code="31" output="O"/>
<key code="32" output="U"/>
<key code="33" output="["/>
<key code="34" output="I"/>
<key code="35" output="P"/>
<key code="36" output="
"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="'"/>
<key code="40" output="K"/>
<key code="41" output=";"/>
<key code="42" output="\"/>
<key code="43" output=","/>
<key code="44" output="/"/>
<key code="45" output="N"/>
<key code="46" output="M"/>
<key code="47" output="."/>
<key code="48" output="	"/>
<key code="49" output=" "/>
<key code="50" output="`"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="65" output=""/>
<key code="66" output=""/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output="/"/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output="-"/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="10">
<key code="0" output=""/>
<key code="1" output=""/>
<key code="2" output=""/>
<key code="3" output=""/>
<key code="4" output=""/>
<key code="5" output=""/>
<key code="6" output=""/>
<key code="7" output=""/>
<key code="8" output=""/>
<key code="9" output=""/>
<key code="10" output="0"/>
<key code="11" output=""/>
<key code="12" output=""/>
<key code="13" output=""/>
<key code="14" output=""/>
<key code="15" output=""/>
<key code="16" output=""/>
<key code="17" output=""/>
<key code="18" output="1"/>
<key code="19" output="2"/>
<key code="20" output="3"/>
<key code="21" output="4"/>
<key code="22" output="6"/>
<key code="23" output="5"/>
<key code="24" output="="/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output=""/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output=""/>
<key code="31" output=""/>
<key code="32" output=""/>
<key code="33" output=""/>
<key code="34" output="	"/>
<key code="35" output=""/>
<key code="36" output="
"/>
<key code="37" output=""/>
<key code="38" output="
"/>
<key code="39" output="'"/>
<key code="40" output=""/>
<key code="41" output=";"/>
<key code="42" output=""/>
<key code="43" output=","/>
<key code="44" output="/"/>
<key code="45" output=""/>
<key code="46" output="
"/>
<key code="47" output="."/>
<key code="48" output="	"/>
<key code="49" output=""/>
<key code="50" output="`"/>
<key code="51" output=""/>
<key code="52" output=""/>
<key code="53" output=""/>
<key code="65" output="."/>
<key code="66" output=""/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output="/"/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output="-"/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="102" output=""/>
<key code="103" output=""/>
<key code="104" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="108" output=""/>
<key code="109" output=""/>
<key code="110" output=""/>
<key code="111" output=""/>
<key code="112" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="11">
<key code="0" output=""/>
<key code="1" output=""/>
<key code="2" output=""/>
<key code="3" output=""/>
<key code="4" output=""/>
<key code="5" output=""/>
<key code="6" output=""/>
<key code="7" output=""/>
<key code="8" output=""/>
<key code="9" output=""/>
<key code="10" output="0"/>
<key code="11" output=""/>
<key code="12" output=""/>
<key code="13" output=""/>
<key code="14" output=""/>
<key code="15" output=""/>
<key code="16" output=""/>
<key code="17" output=""/>
<key code="18" output="1"/>
<key code="19" output="2"/>
<key code="20" output="3"/>
<key code="21" output="4"/>
<key code="22" output="6"/>
<key code="23" output="5"/>
<key code="24" output="="/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output=""/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output=""/>
<key code="31" output=""/>
<key code="32" output=""/>
<key code="33" output=""/>
<key code="34" output="	"/>
<key code="35" output=""/>
<key code="36" output="
"/>
<key code="37" output=""/>
<key code="38" output="
"/>
<key code="39" output="'"/>
<key code="40" output=""/>
<key code="41" output=";"/>
<key code="42" output=""/>
<key code="43" output=","/>
<key code="44" output="/"/>
<key code="45" output=""/>
<key code="46" output="
"/>
<key code="47" output="."/>
<key code="48" output="	"/>
<key code="49" output=""/>
<key code="50" output="`"/>
<key code="51" output=""/>
<key code="52" output=""/>
<key code="53" output=""/>
<key code="65" output="."/>
<key code="66" output=""/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output="/"/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output="-"/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="102" output=""/>
<key code="103" output=""/>
<key code="104" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="108" output=""/>
<key code="109" output=""/>
<key code="110" output=""/>
<key code="111" output=""/>
<key code="112" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
<keyMap index="12">
<key code="0" output="Ф"/>
<key code="1" output="Ы"/>
<key code="2" output="В"/>
<key code="3" output="А"/>
<key code="4" output="Р"/>
<key code="5" output="П"/>
<key code="6" output="Я"/>
<key code="7" output="Ч"/>
<key code="8" output="С"/>
<key code="9" output="М"/>
<key code="10" output="Ё"/>
<key code="11" output="И"/>
<key code="12" output="Й"/>
<key code="13" output="Ц"/>
<key code="14" output="У"/>
<key code="15" output="К"/>
<key code="16" output="Н"/>
<key code="17" output="Е"/>
<key code="18" output="!"/>
<key code="19" output="""/>
<key code="20" output="№"/>
<key code="21" output=";"/>
<key code="22" output=":"/>
<key code="23" output="%"/>
<key code="24" output="+"/>
<key code="25" output="("/>
<key code="26" output="?"/>
<key code="27" output="_"/>
<key code="28" output="*"/>
<key code="29" output=")"/>
<key code="30" output="Ъ"/>
<key code="31" output="Щ"/>
<key code="32" output="Г"/>
<key code="33" output="Х"/>
<key code="34" output="Ш"/>
<key code="35" output="З"/>
<key code="36" output="
"/>
<key code="37" output="Д"/>
<key code="38" output="О"/>
<key code="39" output="Э"/>
<key code="40" output="Л"/>
<key code="41" output="Ж"/>
<key code="42" output="/"/>
<key code="43" output="Б"/>
<key code="44" output=","/>
<key code="45" output="Т"/>
<key code="46" output="Ь"/>
<key code="47" output="Ю"/>
<key code="48" output="	"/>
<key code="49" output=" "/>
<key code="50" output="Ë"/>
<key code="51" output=""/>
<key code="53" output=""/>
<key code="64" output=""/>
<key code="65" output="."/>
<key code="66" output=""/>
<key code="67" output="*"/>
<key code="69" output="+"/>
<key code="70" output=""/>
<key code="71" output=""/>
<key code="72" output=""/>
<key code="75" output="/"/>
<key code="76" output=""/>
<key code="77" output=""/>
<key code="78" output="-"/>
<key code="79" output=""/>
<key code="80" output=""/>
<key code="81" output="="/>
<key code="82" output="0"/>
<key code="83" output="1"/>
<key code="84" output="2"/>
<key code="85" output="3"/>
<key code="86" output="4"/>
<key code="87" output="5"/>
<key code="88" output="6"/>
<key code="89" output="7"/>
<key code="91" output="8"/>
<key code="92" output="9"/>
<key code="96" output=""/>
<key code="97" output=""/>
<key code="98" output=""/>
<key code="99" output=""/>
<key code="100" output=""/>
<key code="101" output=""/>
<key code="103" output=""/>
<key code="105" output=""/>
<key code="106" output=""/>
<key code="107" output=""/>
<key code="109" output=""/>
<key code="111" output=""/>
<key code="113" output=""/>
<key code="114" output=""/>
<key code="115" output=""/>
<key code="116" output=""/>
<key code="117" output=""/>
<key code="118" output=""/>
<key code="119" output=""/>
<key code="120" output=""/>
<key code="121" output=""/>
<key code="122" output=""/>
<key code="123" output=""/>
<key code="124" output=""/>
<key code="125" output=""/>
<key code="126" output=""/>
</keyMap>
</keyMapSet>
<keyMapSet id="JIS">
<keyMap index="0" baseMapSet="ANSI" baseIndex="0">
<key code="512" output=""/>
</keyMap>
<keyMap index="1" baseMapSet="ANSI" baseIndex="1">
<key code="512" output=""/>
</keyMap>
<keyMap index="2" baseMapSet="ANSI" baseIndex="2">
<key code="512" output=""/>
</keyMap>
<keyMap index="3" baseMapSet="ANSI" baseIndex="3">
<key code="512" output=""/>
</keyMap>
<keyMap index="4" baseMapSet="ANSI" baseIndex="4">
<key code="512" output=""/>
</keyMap>
<keyMap index="5" baseMapSet="ANSI" baseIndex="5">
<key code="512" output=""/>
</keyMap>
<keyMap index="6" baseMapSet="ANSI" baseIndex="6">
<key code="512" output=""/>
</keyMap>
<keyMap index="7" baseMapSet="ANSI" baseIndex="7">
<key code="512" output=""/>
</keyMap>
<keyMap index="8" baseMapSet="ANSI" baseIndex="8">
<key code="512" output=""/>
</keyMap>
<keyMap index="9" baseMapSet="ANSI" baseIndex="9">
<key code="512" output=""/>
</keyMap>
<keyMap index="10" baseMapSet="ANSI" baseIndex="10">
<key code="512" output=""/>
</keyMap>
<keyMap index="11" baseMapSet="ANSI" baseIndex="11">
<key code="512" output=""/>
</keyMap>
<keyMap index="12" baseMapSet="ANSI" baseIndex="12">
<key code="512" output=""/>
</keyMap>
</keyMapSet>
</keyboard>
Потом этот файл помещается в /Users/konst/Library/Keyboard Layouts/ , в настройках системы он становится виден как новая клавиатурная раскладка с названием ruscaps, и, когда ее выбрать, в режиме, когда включен Caps, набираются русские буквы, а когда выключен — латинские. Система же думает, что язык и клавиатурная раскладка никогда не переключается.
-
Стандартное (почти) поведение Ctrl, Shift, Home, End, PgUp, PgDown и стрелочных клавиш в режиме редактирования текста достигается созданием файла Users/konst/Library/KeyBindings/DefaultKeyBinding.dict
в котором написано примерно следующее:
Hidden text
{
"^\UF72B" = "moveToEndOfDocument:"; /* Ctrl-End */
"^$\UF72B" = "moveToEndOfDocumentAndModifySelection:"; /* Ctrl + Shift + End */
"^\UF729" = "moveToBeginningOfDocument:"; /* Ctrl + Home */
"^$\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Ctrl + Home */
"\UF729" = "moveToBeginningOfLine:"; /* Home */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
"\UF72B" = "moveToEndOfLine:"; /* End */
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
"\UF72C" = "pageUp:"; /* PageUp */
"\UF72D" = "pageDown:"; /* PageDown */
"^\U007F" = "deleteWordBackward:"; /* Ctrl + Backspace */
"^c" = "copy:"; /* Ctrl + C */
"^v" = "paste:"; /* Ctrl + V */
"^x" = "cut:"; /* Ctrl + X */
"^z" = "undo:"; /* Ctrl + Z */
"^с" = "copy:"; /* Ctrl + C in Russian keyboard layout */
"^м" = "paste:"; /* Ctrl + V in Russian keyboard layout */
"^ч" = "cut:"; /* Ctrl + X in Russian keyboard layout */
"^я" = "undo:"; /* Ctrl + Z in Russian keyboard layout */
"^\UF702" = moveWordLeft:;
"^\UF703" = moveWordRight:;
"^$\UF702" = moveWordLeftAndModifySelection:;
"^$\UF703" = moveWordRightAndModifySelection:;
}
-
Далее приведены страшные символы, создающие полезные пункты в пользовательском меню Midnight Commander, которое вызывается по F2. Придумать их невозможно, можно только нагуглить из интернета.
Итак, для начала создаем файл ~/mc.menu и в нем дописываем, кому что надо. Мне сразу понадобилось такое:
+ ! t t
v Edit with MacVim
/Applications/MacVim.app/Contents/MacOS/Vim --remote-tab-silent %f
+ ! t t
@ Set full path to current file to flist
echo %d/%f >> ~/flist
+ ! t t
l Launch file (with finder)
open %f
+ ! t t
o Open and show file in Finder
open -R %f
+ ! t t
@ Do something bad on the current file
CMD=%{Enter command}
$CMD %f
-
Интеграция Vim и терминала (zsh) у меня выглядит примерно так (фрагмент из моего .vimrc):
" Отформатировать JSON
vnoremap ,j :! /opt/homebrew/bin/jq . <CR>
" Отформатировать XML
vnoremap ,f :!xmllint --format -<CR>
" Исполнить текущую строку в bash (например, вызвать curl на api endpoint)
" точка перед w означает, что использовать надо конкретную строку
nnoremap ,e :.w !bash<CR>:echo('...done.')<CR>
" то же самое, но вставить вывод команды в текущий буфер
nnoremap ,E :exec 'r!'.getline('.')<CR>
" Исполнить текущее выделение (range of lines) в bash
vnoremap ,e :w !bash<CR>
Какие основные отличия интерфейса MacOS от Windows, и что стоит знать при первом знакомстве?
macOS и Windows — две популярные операционные системы, каждая со своим уникальным интерфейсом и особенностями. Первое знакомство с новой операционной системой может вызвать некоторые вопросы. В этой статье мы рассмотрим основные отличия интерфейса macOS от Windows и предоставим советы для более комфортного взаимодействия с macOS.
Дизайн и меню
- Главное меню. В macOS главное меню приложения находится в верхней части экрана, а не в окне приложения, как в Windows. Это обеспечивает единообразный доступ к настройкам и командам приложения, независимо от того, какое окно активно.
- Док. macOS имеет Док, аналог панели задач в Windows, для быстрого запуска приложений и переключения между ними.
Окна и рабочие столы
- Прокладывание пути. В macOS окна приложений часто объединяются в одну группу на панели задач. Переключение между окнами происходит путем прокладывания пути по иконкам приложений в Доке.
- Рабочие столы. macOS предлагает функцию Spaces, которая позволяет организовать несколько рабочих столов для более удобного управления окнами.
Файловая система и права
- HFS+ и APFS. macOS использует файловые системы HFS+ и APFS, в то время как Windows использует NTFS и FAT. Это может повлиять на совместимость файлов между системами.
- Права доступа. Правила и система управления правами доступа к файлам в macOS могут отличаться от Windows.
Клавиатура и жесты
- Клавиши и сочетания клавиш. Некоторые комбинации клавиш и горячие клавиши могут быть разными в macOS и Windows. Например, комбинация «Ctrl+C» в Windows эквивалентна «Command+C» в macOS.
- Жесты на трекпаде. macOS предоставляет разнообразные жесты на трекпаде для управления окнами и приложениями.
Программное обеспечение
- App Store. В macOS вы можете загружать приложения из Mac App Store, а также сторонние приложения. Некоторые приложения доступны только через App Store.
- Совместимость. Учтите, что не все приложения, доступные для Windows, могут быть доступны для macOS, и наоборот.
Первое знакомство с macOS может быть немного непривычным для пользователей Windows, но с небольшой практикой и изучением основных отличий, вы быстро освоите новую операционную систему. macOS предлагает множество удобных функций и возможностей, которые делают работу с компьютером приятной и продуктивной.
Как перенести файлы и документы с компьютера на Windows на Mac?
Переход с одной операционной системы на другую может вызвать некоторые вопросы о том, как безопасно и эффективно перенести ваши файлы и документы. В этой статье мы рассмотрим несколько методов для переноса данных с компьютера на Windows на Mac, чтобы упростить этот процесс.
Использование внешнего устройства
- Один из самых простых способов переноса файлов — использовать внешний носитель, такой как USB-флеш-накопитель или внешний жесткий диск.
- Подключите устройство к компьютеру с Windows и скопируйте все нужные файлы и документы на него.
- Затем подключите устройство к Mac и скопируйте файлы с него на ваш новый компьютер.
Использование сети
- Если у вас есть доступ к сети, вы можете использовать сетевое соединение для передачи файлов между компьютерами.
- На компьютере с Windows убедитесь, что общий доступ к папкам и файлам разрешен. Затем найдите свой компьютер в сети с Mac и скопируйте файлы.
Синхронизация через онлайн-сервисы
- Популярные онлайн-сервисы, такие как Dropbox, Google Drive или OneDrive, предоставляют возможность синхронизации файлов между разными устройствами.
- Установите соответствующее приложение на обоих компьютерах, загрузите файлы на сервер, и они будут доступны и на Mac.
Использование переносного жесткого диска
- Переносные жесткие диски, специально разработанные для миграции данных, могут быть удобным решением.
- Подключите такой диск к компьютеру с Windows, выполните резервное копирование данных на него, а затем подключите его к Mac и восстановите файлы.
Перенос почты и закладок
Если вам нужно перенести почту или закладки браузера, воспользуйтесь инструментами и функциями, предоставляемыми самими приложениями, такими как Microsoft Outlook или браузеры.
При переносе данных всегда важно следить за безопасностью и целостностью файлов. Передавайте данные только через надежные и безопасные каналы, особенно если ваши файлы содержат конфиденциальную информацию. После успешного переноса убедитесь, что все файлы открываются и работают корректно на вашем новом Mac.
Maxx Store в Брянске: эпицентр инноваций Apple на проспекте Ленина
На проспекте Ленина, в самом сердце Брянска, расположился магазин, который за короткое время стал настоящим символом современных технологий и инноваций в городе. Maxx Store представляет мир высококачественной продукции Apple, привнося стандарты мирового уровня в обслуживание клиентов и предоставление технической экспертизы.
Философия и миссия Maxx Store
С момента основания, философия Maxx Store заключалась в том, чтобы быть больше, чем просто точкой продаж электроники. Это — пространство, где технологии становятся доступными, а покупка устройств превращается в увлекательный процесс обучения и открытий. Команда Maxx Store твердо убеждена в том, что каждый клиент заслуживает индивидуального подхода, и что образование и поддержка пользователей являются ключом к успешному использованию технологических новинок.
Образовательные инициативы и сообщество
Maxx Store активно расширяет границы традиционной розничной торговли, организуя образовательные мероприятия, мастер-классы и семинары. Здесь покупатели могут научиться основам фотографии на iPhone, освоить создание видеоконтента на Mac или даже погрузиться в мир программирования и дизайна. Это позволяет формировать вокруг магазина сообщество технологических энтузиастов и профессионалов, которые делятся опытом и вдохновением.
Вклад в развитие города
Maxx Store идет далеко за рамки бизнеса, активно участвуя в жизни города. Участие в культурных и образовательных проектах, спонсорство мероприятий, направленных на развитие IT-сферы, и сотрудничество с местными организациями делают компанию важной частью социальной экосистемы Брянска.
Технологии будущего — сегодня
В Maxx Store особое внимание уделяется представлению последних технологических достижений. Презентации новинок, демонстрация продуктов в действии и возможность «пощупать» устройства до покупки — всё это делает взаимодействие с технологиями яблочного гиганта максимально насыщенным и увлекательным.
Maxx Store в Брянске — это не просто магазин, но и центр притяжения для всех, кто интересуется современными технологиями. Он демонстрирует, как компания, сфокусированная на клиенте и инновациях, может стать сердцем технологического прогресса в регионе, поднимая планку качества обслуживания и взаимодействия с потребителями на новый уровень.