О чем думаете?

 -Поиск по дневнику

люди, музыка, видео, фото
Поиск сообщений в Мурат_Джусупов

 -Подписка по e-mail

 
Получать сообщения дневника на почту.

 -Интересы

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Дата регистрации: 13.11.2007
Записей в дневнике:
Комментариев в дневнике:
Написано сообщений: 39
Популярные отчеты:
кто смотрел дневник по каким фразам приходят

Как работать над одним проектом на разных ОС/платформах

Воскресенье, 26 Июля 2009 г. 20:23 (ссылка) + в цитатник

Оказалось, что это просто, если вы программируете на платформенно-независимом языке (например, на C/C++/Java/Python и так далее). Всё дело в том, что нужно изначально стараться проектировать программу так, чтобы платформенно-зависимый код (например GUI) располагался в одних исходниках, а платформенно-независимый код располагался в других исходниках (например, логика программы или классы-утилиты для несложной работы с файлами, где можно обойтись стандартными возможностями языка).

Может оказаться, что дома захочется поработать над рабочим проектом пару-тройку часов. Но на работе вы делаете проект на Apple iMac, а дома стоит PC. Что же делать?

Проектируйте изначально части программы так, чтобы их максимально безболезненно можно было использовать в других программах. Например, если это класс для считывания-записи в текстовые файлы настроек (в Windows это обычно называют ини-файлами), то достаточно легко будет сделать такой класс совершенно изолированным от особенностей ОС и вообще от особенностей вашей программы (хотя в Windows очень удобно использовать WIN32 API для работы с ини-файлами, но я сейчас не об этом).

Например, сегодня и вчера я разрабатывал и исправлял свой класс для работы с ини-файлами (на языке C++ для использования в iPhone-приложении). При этом у меня это были выходные дни, и я просто сделал консольное приложение, в котором использовал и тестировал этот класс. При этом я использовал свой PC (а на работе весь проект можно собирать только на Mac). Ощущения потрясающие, и главное, это очень удобно.

Конечно, такое удастся не со всеми классами проекта. Есть такие классы, которые слишком тесно вплетены во взаимодействие с GUI. В таком случае разрабатывать отдельное GUI для Windows-варианта программы было бы слишком хлопотным занятием (если это делать лишь только для того, чтобы программировать дома 4-5 часов в неделю). Тогда уж проще было бы купить Mac. Но это уже другая история.

Кстати, Java-программисты пожалуй меньше всех испытывают какие-либо проблемы, работая над одним и тем же проектом на разных ОС/платформах. Кроме того, существуют удобные инструменты для C++ программистов как QT (хотя цена на коммерческую версию QT может заставить немного вздрогнуть) - работая на разных ОС/платформах на QT вы видите практически один и тот же инструмент (я ещё не успел попробовать переносить QT-проекты из Linux на Windows).
Теги:  

 

Добавить комментарий:
Текст комментария: показать смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
Подписаться на комментарии
Подписать картинку

Найти дневники