2011-07-08 166 views
1

我和幾個朋友在業餘時間運行一個小應用程序創建業務,我們目前的開發環境是一臺只運行雪豹的3檯筆記本電腦,兩臺啓動Windows 7的華碩筆記本電腦4臺, Ubuntu和一個類似於我們的vps的垃圾測試服務器盒子。多操作系統與SIngle操作系統電話和服務器開發

我們的安裝程序目前工作正常,有一些小問題,比如不知道我們正在使用哪個版本的軟件,由於不斷切換操作系統而導致生產力下降,導致我們懶惰地切換筆記本電腦正在工作,不得不拔下插頭,插上新的顯示器,鍵盤和鼠標。

我們的系統遠沒有專業,我們正在尋求升級。這是因爲我們希望增加我們的員工,並且我們有一些現金節省,所以爲什麼不。我們的目標手機是iOS,Android和Win7。我們的服務器是用php和json編寫的。所以我的問題基本上是,你們如何管理所有這些多個操作系統。

的iOS需要Mac OS X需要的Linux/Mac OS X的 的Windows Phone 7需要Windows

你們怎麼使用某種形式的virutalization的 機器人可以使用所有 JSON? 或嘗試那些編譯爲每個電話二進制文件的庫,如統一?

回答

4

有許多不同的方法來解決這個問題,你可能需要找到最適合你的方法。這裏有一些建議,但。

  • 使用macbooks,設置bootcamp,以便雙啓動到OSX或Windows。這將意味着您可以使用Macbook進行所有開發,而不必麻煩交換顯示器等。這樣做會使您的其他Windows筆記本電腦備用,您可以使用它來提供下一個建議....

  • 設置中央您的源代碼庫。使用您擁有的服務器之一,或重新使用其他機器之一,並安裝一個體面的源代碼庫系統。 CVS,Git等等。關於這些資源有很多。這將允許您將代碼保存在一個地方,因此無論您正在使用哪臺機器都無關緊要 - 您始終可以獲取最新的代碼。另外它還會幫助你跟蹤你的代碼更改。哦,不要忘記把它放在一個地方,備份會更容易(你做備份,不是嗎......?)

  • 不要陷入硬件升級的陷阱,因爲你有一些錢浮動。你可能只需要更聰明地使用你的硬件。你提到你的「非常專業」。您不需要最新,最好的硬件和軟件來進行開發。我在4年前的Macbook Pro上完成了iOS開發,使用了8年的PC作爲網絡和數據庫的服務器,並且仍然每天都使用Windows XP。

  • 根據您有多少人,您可能沒有足夠的Macbook。如果是這種情況,那麼也許你有一些專家在服務器端的東西(即他們不做iOS開發,所以不需要Mac)。

  • 虛擬化 - 使用VMWare或類似工具是獲得更多收益的絕佳方式。例如,您可能有幾個測試服務器的利用率不高。使用虛擬化,你可以將這兩臺服務器放到一臺機器上。然後這將釋放另一個盒子的其他東西。它還可以很容易地備份(您正在進行備份,是不是......)整個服務器,並在硬件故障的情況下將其恢復到確切的狀態。您還可以非常輕鬆地爲每個客戶端/項目創建一個服務器,並在其間快速切換,而無需維護大量其他內容(例如,如果您爲一個項目配置了Web服務器,然後再處理另一個需要不同項目的項目配置和你改變它,然後你需要改回來,等等)。

編輯:更新迴應評論。 如果不使用Bootcamp,請考慮在OSX內部運行Windows和/或Linux虛擬機。根據您的macbook的規格,只要您不需要在Windows上進行非常低級別的硬件訪問,那麼這可能也會起作用,無需使用BootCamp進行切換。 Linux虛擬機也一樣。我非常喜歡在開發環境中使用虛擬機,因爲它允許您複製和切換服務器而不必依靠物理硬件連接。您可以通過服務器配置和數據輕鬆返回到已知狀態。

關於「在雲中」的源代碼管理。我不是這種方法的粉絲。這是我的源代碼,我想控制它。我不想依賴於其他公司,我不希望我已經正確地閱讀了一些條款和條件,而且我也沒有將我的代碼交給其他公司去做他們想做的事情。除此之外,如果您的互聯網訪問失敗並且您絕對必須爲客戶完成一些編碼,會發生什麼情況?如果你依賴另一項服務,那麼你冒着問題的風險。是的,它對多站點有優勢,他們爲你做備份等等。但是,除非你有許多開發人員遍佈世界各地,否則它確實不是問題。即使這樣,這也不一定是問題。您可以隨時將您的代碼備份到某個軟件包文件中,對其進行加密,然後將其放入雲中以備用存儲空間(以及將其刻錄到光盤,寫入另一個外部硬盤驅動器並將其存儲在非現場) 。但我當然不想依賴外部源代碼控制,除非我在做開源的東西。

對於這些主題,還有很多其他的主題,並且在建立業務的過程中您可能會遇到很多其他主題。

軟件開發最重要的事情之一就是保持它的組織性並在開始時完成組織部分。如果你只是在本地驅動器上保留一份代碼的副本,然後更改代碼並希望你沒有像其他人那樣更改相同的文件,那麼這隻會導致痛苦。源代碼控制方面從一開始就是關鍵。

噢,我有沒有提到備份?

+0

哇..這真的很好的建議,非常感謝。我們之前嘗試過訓練營,並且只採用了mac方法,但說實話,訓練營很糟糕。我們使用筆記本電腦來實現移動性,因此我們可以在宿舍工作,也可以在圖書館移動和工作,Mac的窗口和linux觸控板驅動程序幾乎不可能在沒有鼠標的情況下使用。小型Mac硬盤也使三重啓動成爲一種痛苦。 – rissicay

+0

對於我們的源代碼控制,我們使用基於web的,比如kilnhg和bitbucket。我們沒有備份,我們的邏輯是,有多個基於Web的源代碼管理和自動化構建,所以如果我們有一個失敗,所有我們要做的就是hg clone,cd project,sudo python setup.py,如果代碼/服務器/數據庫死亡。這是邏輯錯誤嗎?我們應該有專門的備份嗎? – rissicay

+0

你最近試過訓練營嗎?它從早期版本中已經有了很大的改進。如果您不需要低級別的硬件訪問,您也可以在其中運行帶有Windows的虛擬機。查看我更新的答案以獲取更多評論。 –

0

我也會考慮你使用的IDE作爲等式的一部分。例如,一個好的跨平臺IDE(如QT4 +)和一個服務器上的集中代碼庫將大大緩解您的工作問題。 Eclipse,Netbeans和QT4 +都是跨平臺的,並且將與所有3個系統一起工作。您提到的虛擬化是一種選擇,但首先我會決定在使用IDE平臺之前使用它,然後再擔心您的開發基礎架構設置。

+0

我們只知道三款主要的手機IDE,xcode,eclipse和visual studio。對於服務器,我們使用vim。它只是更難與穀物戰鬥,試圖使用非官方IDE – rissicay

0

兄弟,我不是一個職業球員,但你有兩種選擇:

  1. 通過安裝多個操作系統的多重引導系統......(很顯然,你需要一個單獨的MacBook)
  2. 或者使用例如像VMWare等

個人虛擬機,我還沒有聽到太多關於像統一等

轉到庫專用系統&不只是圖書館。