我和几个朋友在我们的业余时间运行一个小应用程序创建业务,我们目前的开发环境是运行只有雪豹的3台macbooks笔记本电脑,带有双启动窗口7和ubuntu的4台华硕笔记本电脑以及一个垃圾测试服务器盒。类似于我们的vps。
我们的设置目前工作正常,有一些小问题,比如不知道我们正在处理什么版本的软件,这是由于不断切换操作系统而导致生产力下降,因为我们懒得切换笔记本电脑工作,必须拔掉它并插入新的,包括第二台显示器,键盘和鼠标。
我们的系统远非专业,我们正在寻求升级。这是因为我们希望增加员工,我们节省了一些现金,为什么不呢。我们的目标手机是iOS,Android和Win7。我们的服务器是用php和json编写的。所以我的问题基本上就是,你们如何管理所有这些多种操作系统。
iOS需要mac os x android可以全部使用 json需要linux / mac os x Windows Phone 7需要Windows
你们有没有使用某种形式的虚拟化? 或者尝试那些编译成每个手机二进制文件的库,例如unity?答案 0 :(得分: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虚拟机也是如此。我非常喜欢在开发环境中使用虚拟机,因为它允许您复制并切换进出服务器,而无需依赖物理硬件连接。您可以使用服务器配置和数据轻松返回已知状态。
关于源代码控制“在云端”。我不是这种方法的粉丝。这是我的源代码,我想控制它。我不想依赖其他公司而且我不希望我已经正确地阅读了一些条款和条件,而且我没有将我的代码交给其他公司来做他们想要的事情。除此之外,如果您的互联网访问中断,您绝对必须为客户完成一些编码,会发生什么?如果您依赖其他服务,那么您将面临问题。是的,它具有多站点的优势,它们可以为您进行备份等。但除非您有许多开发人员遍布全球,否则它确实不是问题。即便如此,它也不一定是个问题。您可以随时将代码备份到某个包文件,对其进行加密,然后将其放入云中以备份存储(以及将其刻录到光盘,写入另一个外部硬盘并将其存储在异地) 。但我当然不想依赖外部源代码控制,除非我做开源代码。
对于这些科目来说,还有更多的东西,在建立业务的过程中,您可能会遇到许多其他科目。
软件开发最重要的一点是保持组织有序,并在一开始就完成组织部分。如果您只是在本地驱动器上保留代码的副本,然后更改代码并希望您没有更改与其他人相同的文件,那么这只会导致痛苦。源控制方面从一开始就是关键。
哦,我提到了备份吗?
答案 1 :(得分:0)
我还会考虑您使用的IDE作为等式的一部分。例如,一个好的跨平台IDE(如QT4 +)和服务器上的集中代码存储库将大大有助于缓解您的工作问题。 Eclipse,Netbeans和QT4 +是跨平台的,可以与所有3个系统一起使用。您提到的虚拟化是一种选择,但首先我会决定使用IDE平台,然后再担心您的开发基础设施设置。
答案 2 :(得分:0)
兄弟,我不是专业人士,但你有两个选择:
就个人而言,我没有听说过像Unity等这样的图书馆。
寻求专用系统&不只是图书馆。