Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

286
16 июня 2008 года
misha_turist
572 / / 28.11.2005
Доброго времени суток.

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

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

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

Сзаранее спасибо!
1.9K
16 июня 2008 года
andriano
474 / / 10.01.2008
Вообще-то MacOS - это Unix.
Если нужен единственный исполняемый файл, то, вероятно, можно написать программу в режиме командной строки DOS. Такая программа должна работать и под Windows и под Unix.
Но вообще-то под переносимой программой обычно понимают прогамму, имеющую два (несколько) вариантов под разные ОСи, причем процентов 90-99 кода одно и то же, а разница обычно сосредоточена в одном модуле и касается в основном элементов интерфейса.
Кроме того, программу, написанную для одной системы, можно запустить под другой - через виртуальную машину или эмулятор.
1.6K
16 июня 2008 года
Vov4ick
476 / / 01.02.2007
Есть такая вещь - DEXEM для склейки DOS и вынь(ПЕ) ехе-шника в один. Возможно текое есть и для склейки ПЕ+эльф, можно поискать.
Самостоятельные части кода, не использующие функции ОС можно как сказано выше вынести в модули, общие для обеих частей програмы - в виде оверлеев или отдельных файлов.
Сложность определяется знанием вами обеих ОС и принципов работы вашего языка программирования и самих компьютеров\процессоров. То есть насколько совместимы между собой 80х86 и маковый процессоры. Забота о совместимости оборудования лежит на ОС и программных модулях, с ней взаимодействующих.
12K
16 июня 2008 года
MuHAOS
63 / / 06.12.2006
Можеш просто написать на Java - будет работать и на Windows, Unix, Linux і т.д...
1.9K
16 июня 2008 года
andriano
474 / / 10.01.2008
Vov4ick,
Маки сейчас делают на Intel x86.

MuHAOS,
А Джава, кстати, хорошая идея.
342
17 июня 2008 года
Yos
209 / / 21.06.2003
Java это единственный наименее трудоемкий выход из положения, так как различия при написании кода под винды и макос достаточно существенные (когда то писал) "обработка" интерфейса вообще отдельная тема...

А вот если под винды и полуось то тут все замечательно в 99% случаев :) в виндовых API меняете Get... на полуосевые Query...
63
17 июня 2008 года
Zorkus
2.6K / / 04.11.2006
Цитата:
Если нужен единственный исполняемый файл, то, вероятно, можно написать программу в режиме командной строки DOS. Такая программа должна работать и под Windows и под Unix.


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

Цитата:

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


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

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

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

286
17 июня 2008 года
misha_turist
572 / / 28.11.2005
Цитата:
автору нужна программа с GUI.

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

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

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

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

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

Хотя, если бы позволяло время, я бы взялся написать на Java. И решение хорошее и новый язык изучил бы. Единственный недостаток тут - рискуете репутацию подпортить :)
3
18 июня 2008 года
Green
4.8K / / 20.01.2000
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, поэтому должны быть архитектурно выделены в отдельные части.
2
18 июня 2008 года
squirL
5.6K / / 13.08.2003
в качестве локальной БД я бы взял Firebird.
в качестве UI, если ты собрался писать на С++ - QT. есть порт для Mac OS.
63
21 июня 2008 года
Zorkus
2.6K / / 04.11.2006
Как вариант, попробовать взять SQLLite.
502
21 июня 2008 года
Jail
550 / / 30.01.2007
Как продолжение генерации вариантов -> С++ и WxWidgets - http://www.wxwidgets.org/
Глянь на сайте как всё это выглядит на виндузятине и на MacOS.
QT на видновс шароварез, а wxwidgets бесплатна везде. Как альтернатива не имеющая лицензионных ограничений, вполне подойдет.
С Java ещё проще. Учить конечно же не меньше по времени, но того же конечного результата можно достичь меньшей кровью.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог