Разработка нескольких телефонов против единой ОС для телефона и сервера - PullRequest
1 голос
/ 08 июля 2011

Я и несколько друзей занимаемся небольшим бизнесом по созданию приложений в наше свободное время. Наша текущая среда разработки - это 3 ноутбука MacBook, работающие только на Snow Leopard, 4 ноутбука Asus с двойной загрузкой Windows 7 и Ubuntu, а также тестовый сервер для мусора, который похоже на наш VPS.

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

Наша система далека от профессиональной, и мы надеемся обновить ее. Это потому, что мы хотим увеличить наш персонал, и у нас есть накопленные деньги, так почему бы и нет. Телефон, на который мы нацеливаемся, - iOS, Android и Win7. Наши серверы написаны на php и json. Итак, мой вопрос в основном, как вы, ребята, справляетесь со всеми этими несколькими операционными системами.

iOS требует Mac OS X Android может использовать все JSON требуется Linux / Mac OS X Windows Phone 7 требует Windows

Вы, ребята, используете какую-то форму виртализации? или попробуйте те библиотеки, которые компилируются в каждый двоичный файл телефона, например, Unity?

Ответы [ 3 ]

4 голосов
/ 08 июля 2011

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

  • Используя macbooks, настройте bootcamp, чтобы вы могли выполнять двойную загрузку для OSX или Windows.Это будет означать, что вы можете использовать Macbook для любой разработки, не беспокоясь о замене мониторов и т. Д. В результате у вас останутся запасные другие ноутбуки с ОС Windows, которые вы можете использовать для следующего предложения ....

  • Установите центральное хранилище для вашего исходного кода.Используйте один из ваших серверов или переназначьте один из других компьютеров и установите достойную систему хранилища исходного кода.CVS, Git и т. Д. Есть много ресурсов об этом.Это позволит вам хранить код в одном месте, поэтому не имеет значения, на каком компьютере вы работаете - вы всегда можете получить самый последний код.Кроме того, это поможет вам отслеживать изменения кода.О, и не забудьте, что все это в одном месте будет намного проще для резервных копий (вы делаете резервные копии, не так ли? ..)

  • Непопасть в ловушку обновления оборудования только потому, что у вас есть деньги.Возможно, вам просто нужно использовать оборудование, которое у вас есть более разумно.Вы упоминаете, что у вас есть "далеко от профессионала".Вам не нужно новейшее, самое лучшее оборудование и программное обеспечение для разработки.Я занимался разработкой iOS для 4-летнего Macbook Pro, использовал 8-летний ПК в качестве сервера для Интернета и базы данных и все еще использую Windows XP каждый день.

  • В зависимости от того, сколькоиз вас есть, у вас может не быть достаточно Macbooks.Если это так, то, возможно, у вас есть специалисты, которые занимаются серверными вопросами (то есть они не занимаются разработкой для iOS и поэтому не нуждаются в Mac).

  • Виртуализация - использование VMWare или аналогичных инструментов - отличный способ получить больше от того, что у вас есть.Например, у вас может быть пара тестовых серверов, которые используются не очень интенсивно.Используя виртуализацию, вы можете разместить оба этих сервера на одной машине.Это тогда освободит другую коробку для чего-то еще.Это также позволяет легко создавать резервные копии (вы делаете резервные копии, не так ли? ...) всего сервера и восстанавливать его обратно в точное состояние в случае аппаратного сбоя.Вы также можете очень легко создать сервер, адаптированный для каждого клиента / проекта, и быстро переключаться между ними без необходимости поддерживать множество других вещей (подумайте, если у вас был настроен веб-сервер для одного проекта, и вы затем работаете над другим проектом, который требует другогоконфигурации, и вы измените его, затем вам нужно изменить его обратно и т. д.).

РЕДАКТИРОВАТЬ: Обновление в ответ на комментарии.Если использование Bootcamp не вариант, рассмотрите возможность запуска виртуальной машины Windows и / или Linux внутри OSX.В зависимости от спецификации ваших macbooks и если вам не нужен аппаратный доступ на низкоуровневом уровне в Windows, это, вероятно, будет работать так же, и вам не нужно будет подключаться и отключаться с помощью BootCamp.То же самое касается виртуальной машины Linux.Я большой поклонник использования виртуальных машин в средах разработки, поскольку он позволяет копировать и переключать серверы без необходимости полагаться на физические аппаратные соединения.И вы можете очень легко вернуться к известному состоянию с конфигурацией сервера и данными.

Что касается управления исходным кодом "в облаке". Я не фанат такого подхода. Это мой исходный код, и я хочу его контролировать. Я не хочу полагаться на какую-то другую компанию, и я не хочу надеяться, что правильно прочитал некоторые Условия и положения, и я не передаю свой код какой-либо другой компании, чтобы сделать то, что они хотят с ним. Кроме того, что произойдет, если ваш доступ в Интернет будет ограничен, и вы обязательно должны сделать кодирование для клиента? Если вы полагаетесь на другую услугу, то вы рискуете проблемами. Да, у него есть преимущества для мультисайтов, они делают резервные копии для вас и т. Д. Но это действительно не проблема, если у вас много разработчиков по всему миру. И даже тогда это не обязательно проблема. Вы всегда можете сделать резервную копию своего кода в каком-либо файле пакета, зашифровать его и затем выбросить в облачное хранилище для резервного копирования (а также записать его на диск, записать на другой внешний жесткий диск и сохранить их вне сайта). , Но я определенно не хотел бы полагаться на внешний источник контроля, если бы я не занимался открытым исходным кодом.

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

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

О, а я упоминал о резервных копиях?

0 голосов
/ 08 июля 2011

Братан, я не профессионал, но у вас есть два варианта:

  1. Либо мультизагрузите вашу систему, установив несколько ОС ... (Очевидно, вам нужен отдельный MACbook)
  2. Или используйте виртуальные машины, такие как VMWare и т. Д.

Лично я мало что слышал о библиотеках, таких как Unity и т. Д.

Переходите на выделенные системы, а не только библиотеки.1011 *

0 голосов
/ 08 июля 2011

Я бы также рассмотрел IDE, которую вы используете, как часть уравнения.Например, хорошая кроссплатформенная IDE (например, QT4 +) и централизованное хранилище кода на сервере будут иметь большое значение для смягчения ваших рабочих проблем.Eclipse, Netbeans и QT4 + являются кроссплатформенными и будут работать со всеми 3 системами.Виртуализация, как вы упомянули, является одним из вариантов, но сначала я бы определился с платформами IDE для использования, прежде чем беспокоиться о настройке инфраструктуры вашего разработчика.

...