Программирование для mac есть только windows

Программирование для Windows и MacOS

Доброго времени суток.

Хочу предупредить сразу, я ни когда не писал под MacOS и даже её в глаза не видел!

Есть задача написание программы, работающей под управлением MacOS и Windows, это вообще возможно, и если да то насколько сложно будет создание такой программы!

Программа — это не наколенная поделка, а серьёзный (по качеству, а не массштабам) проект.

12 ответов

Vov4ick,
Маки сейчас делают на Intel x86.

MuHAOS,
А Джава, кстати, хорошая идея.

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

А вот если под винды и полуось то тут все замечательно в 99% случаев 🙂 в виндовых API меняете Get. на полуосевые Query.

Ну это ерунда. Если не рассматривать спец. утилиты, то наверняка
автору нужна программа с GUI.

Я сильно сомневаюсь, что полуось сильно интересуют автора
(и вообще, широкие слои программистов-практиков).

Вообще, если это прикладная программа, считаю Java хорошим (если не лучшим) решением.
Если реализация .NET в MacOSX достаточно качественна и близка к возможностям .NET под Windows, то это тоже хороший вариант.
В Windows это думаю, будет лучше, чем Java, на MacOSX — не знаю.

Вообще, не вижу никаких особых причин, чтобы прикладное приложение нельзя было сделать кроссплатформенным.
Если же вы совершенно точно знаете, что Java или .NET вам не подойдет по причине производительности (что маловероятно, раз вы подняли эту тему), то тогда можно посоветовать C++/Qt. Но я рассматриваю это как крайнее решение, гораздо худшее, чем первые два.

И не только, ещё и локальная БД.

По сути планируется база данных на переносном носителе (флешка, USB диск или т.п.), которая не требует установки (кроме разве что общепринятых, наподобие обновление IE) и будет работать достаточно долгое время, в пределах подключения устройства конечно.

И я точно знаю, что запускать её будут и на МакОС и под Windows.

Теперь проблема в другом, я же, ни Java, ни .NET не знаю, нет я не против самообучения, но потребуется качество ПО, а обеспечить его при таком подходе будет проблематично, хотя можно рискнуть конечно. rolleyes:

Еще такая штука есть:
http://ru.wikipedia.org/wiki/WxWidgets
Сам не пробовал, но вроде должно как-то с Code::Blocks в обеих ОС работать.

Хотя, если бы позволяло время, я бы взялся написать на Java. И решение хорошее и новый язык изучил бы. Единственный недостаток тут — рискуете репутацию подпортить 🙂

misha_turist, ты сам определись сначала, в чем проблема и вопрос.

Ты хочешь разработать программу в Windows, которая сразу заработает на MacOS ?
Этого не получится. В любом случае тебе надо будет отлаживать программу и под Win, и под Mac.

Ты хочешь разработать программу в Windows, которая без особых переделок пойдет под MacOS ?
Тогда смотри в сторону Java.

Ты хочешь разработать программу, которая в принципе может быть собрана, как под Mac, так и под Win ?
Тогда это архитектурная задача, которую, возможно, надо решать с помощью более опытных товарищей (очно, либо заочно, т.е. изучив соотв. материалы). Надеюсь, что ты понимаешь, что программу можно разбить на UI и бизнес-логику. Бизнес-логика в принципе должна быть платформонезависимой, поэтому её можно писать (в твоем случае) на C++ c использованием платформонезависимых библиотек (crt, stl, boost). При этом надо выбрать СУБД с так же с платформонезависимым интерфейсом, либо сделать соотв. обертку для предоставления универсального интерфейса, а саму логику работы с БД описать дважды: для Win и для Mac.
С UI дело обстоит так же, либо используй мультиплатформенную библиотеку (посмотри на Qt, возможно, она и под Mac собирается), либо напиши просто два UI — для Mac и для Win. При этом не обязательно сразу распыляться на две ОС. Напиши все под Win, но с заделом на то, что все платформозависимые части потом будут реализованы ещё и под Mac, поэтому должны быть архитектурно выделены в отдельные части.

Читайте также:  Удаленный сервер для windows

Можно ли писать приложение под Windows на Mac OS?

Можно ли писать приложения под Mac OS X (Mono)
Какие буду проблемы с C# на Mac OS X (Mono)? C# хочу что бы был моим первым серьёзным языком.

Какой нужен макбук, чтобы писать под современные iOS и Mac? Минимальная версия Mac?
Ничего в этом пока не смыслю. На новый макбук денег нет — рассматриваю варианты б/у, приценяюсь.

Можно ли из под linux писать приложения для Windows c использыванием графики.
Очень заинтересовал етот вопрос так как отформатил жосткий и поставил линух а теперь незнаю .

Программа работает под Mac и вылетает под Windows
Здравствуйте всем! Я новичок и на форуме, и в освоении JAVA — поэтому, если что не так, извините.

hghd, можно, но это будет неудобно. На маке можно использовать Mono (открытую реализацию .NET Framework), в которой реализован WinForms. Но реализация кривоватая и не полная. В качестве IDE можно использовать MonoDevelopment, которая просто отвратна, но работает.

Я рекомендую поставить виртуалку с виндой и работать из под неё. Хотя на фиг, тогда, вообще будет нужен мак?)

wlada, смысл чтобы не ставить себе в виртуалку винду чтобы делать под неё на маке приложения. Ваш совет очень и очень странный в рамках вопроса

Добавлено через 7 минут
hghd, не помню прикрыли или нет, но была для студии Xamarin.Forms так что ставить студию для мака и Xamarin. Такого же WinForms как на винде естественно не будет, т.к библиотеки не портированы

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

Можно ли писать на С++ под .NET?
Я так понимаю что фреймворк — это платформа, которую нужно устанавливать в систему для того чтобы.

Можно ли писать под Linux на C#?
Прошу меня простить за, возможно, глупый вопрос. Можно ли писать под Linux на C#?

Консольное приложение, можно ли писать цветными буквами?
Всем доброго вечера.Пишу консольную утилитку,с выводом инструкций на экран.Использую.

Можно писать приложения под Android
Возможно ли написать в VB программу под андройд?

Можно ли писать программы под winMobile 6.5
Здравствуйте! Подскажите пожалуйста как на vs2010 кодить программки под winMobile 6.5, а то на 2010.

Микрофон на mac под windows
На компьютере macbook pro через bootcamp установлена windows 7. Можно ли как то настроить, чтобы.

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

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

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

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

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

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

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

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

Читайте также:  Где расположен файл hosts windows 10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Windows media player переходы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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