我一直在使用 Fedora Linux 进行 Web 开发(以及其他开发内容)已经有一段时间了。但就在最近,有人告诉我,既然我在做web开发,那我还不如用Mac。我觉得 Mac 被高估了。为什么我应该(或不应该)使用 Mac?
22 回答
好的,这是我的 2 美分。
我是一个PC人,已经很多年了。
大约 3 年前,我购买了一台 MAC,并安装了 Macromedia Tools(Dreamwaver 等)。
尽管我尽了最大的努力,但我还是没有效率——我只是习惯了 Windows 中的工作方式,MAC OS(虽然非常好)对我来说适得其反。
所以,我回到了 PC(已经有很多年了)。
我的观点是,无论您使用哪种操作系统,您都将是最高效的操作系统,唯一的例外是如果有一个特定的应用程序只能在另一个操作系统上使用。
所以,我会坚持你所知道的(显然是 LINUX),或者准备好暂时失去一些生产力。
多年来,我一直在 Linux 上进行 Web 开发。尽管拥有一台 Mac,但我从未需要将它用于 Web 开发。
VIM、Apache、MySQL、Inkscape、Gimp、GEdit、Firefox+插件
这就是我所需要的。
我将在 IE 和 Safari 等中进行测试,但那是测试,而不是开发。
除非你能想到一个理由,否则你为什么要这样?
在过去的一年里,我一直在使用 Mac 进行 Web 开发,最近又转移到了 Ubuntu Linux,现在过得更好。
原因如下:
集成包管理:虽然 mac 有 macports,但它并没有集成到整个操作系统中。使用 ubuntu,我可以输入几个命令(或者如果我愿意,可以使用 GUI)并在大约 3 分钟内启动并运行 LAMP。这没有像 XAMMP 或 MAMP 或 EasyPHP 之类的任何收缩包装的“LAMP 安装”的用户,只是原始软件本身。当您开始使用 pear、phpunit、rubygems 等工具时,这一点变得更加重要,这些工具在 ubuntu 上的配置和工作比在 Mac 上要少得多。
不错的终端:我猜只与基于 Unix 的开发人员有关,但它有一个很好的多选项卡终端(Mac 上的 iterm 有这个,但由于某种原因它变得非常缓慢),可以扩展到完整的全屏。
更新:我还在老虎身上。Leopard,无可否认有一个相当不错的终端。
轻松虚拟化:同样,Mac 可能有这方面的选项,但我可能放弃了尝试安装它们。我目前正在使用 wine 和 virtualbox 来虚拟化 windows 并为 web 开发项目测试 IE。
图形软件的不错的开源替代品:我不喜欢窃取软件,也买不起 photoshop 等。GIMP 和 Inkscape 对我来说已经足够好了。这些同样可以在 Mac 上使用,但 GIMP 使用的 X 窗口系统在 OSX 上运行不佳。然而,在 ubuntu 中完美无瑕。
总的来说,我在 linux 机器上的工作效率更高。这可能是因为我喜欢终端上的东西而不是 GUI,但对我来说最大的胜利绝对是使用 apt-get 安装新的与程序员相关的软件很容易。
我真的很喜欢将我的 MacBook Pro 用于各种开发,不仅仅是 Web 开发,而且不是出于任何人提到的任何原因。当然,它有很好的 Unix 基础,而且看起来非常漂亮。我使用 Mac 和 OS X 进行开发的主要原因是它工作得有多好和一致。所有应用程序的键盘快捷键都是一致的,并且键盘的布局方式使得使用操作系统的命令变得非常自然。对我来说,将 Mac 键盘与 OS X 结合使用进行开发(即使在笔记本电脑上)也比在台式机上使用鼠标/键盘要容易和快捷得多。我也不必担心驱动程序或程序的工作,就像我在 Linux(例如 Adobe Flex)中所做的那样。
我能想到一个很好的理由,有一个名为 CSSEdit 的 OSX 软件,它可能是我用过的最好的 CSS 编辑器。它支持类似于VS 中的#region的东西,并且对规则和类也有很好的层次结构视图。
我是一名 PHP 程序员,在 Mac 上开发了 2 年,我得出的结论是我宁愿使用其他任何东西。
由于最初的问题是关于使用 Mac 而不是 Linux 进行 Web 开发,这就是我重新表述我的优缺点的方式。
Mac 优于 Linux 的优点:
- 商业级产品(例如 Adobe)完全支持。
Mac 在 Linux 上的缺点:
- 一个完整系统的购买成本高于正常的购买成本。
- 封闭系统 - 没有硬件升级,除了 HDD 和 RAM。
编辑:关于我收到的评论,我重新评估了我的回答,使其更符合原始问题。
我个人认为没有任何缺点(不像我必须在 windows box GRRRRRR 上开发!)。优点如下
在 Apache 内置的任何平台上的任何浏览器中进行测试(但我推荐 MAMP) 很棒的原生开发工具(Coda BBEdit 等)
一个主要缺点是缺少 Internet Explorer。话虽如此,我已经通过 Wine 安装了 Internet Explorer 6,所以我可以像使用任何其他 Mac 程序(在 X11 中)一样使用它。
在 mac 上安装 ASP 可能还需要更多的工作,比如安装单声道,但即使这样也很容易。
mac上有很多我喜欢的很棒的网络软件,比如Coda、Transmit、CSSEdit和TextMate。
访问 Web 时真的没关系。Adobe 的产品被认为是业内最好的产品,例如 Flash 和 Photoshop。您也可以在 Windows 上轻松获得这些。
对于 Web 开发来说,使用什么样的操作系统并不重要。尽管我使用的是 Mac,但使用 Windows 的 Web 开发人员可能具有运行 Internet Explorer 本机的优势,而其他人则必须使用虚拟机。但同样,这并不重要。
我能想到的唯一优点是 90% 的设计人员都在使用 Mac,因此您将能够跟上他们中许多人试图实现的酷炫因素。
好吧,如果我没记错的话,你真的不能在 Linux 上进行闪存开发。另外,尽管人们称赞 GIMP 的优点,但我认为它在易用性方面与 Photoshop / Illustrator 不相上下(见鬼,FAQ 中有一部分解释了如何画一个圆圈)。
尽管我真的很喜欢 Visual Studio,但我倾向于更喜欢 Windows 来进行任何开发。
CSSEdit + Adobe Dreamweaver + TextMate + Transmit FTP + 带有 FireBug 和 FirePHP 的 Firefox,你很高兴继续使用 MAC ;)
两年前我搬到 MAC,不后悔。
在我的印象中,很多 Ruby on Rails 和其他相对较新的酷语言在 Mac 上都有很好的支持。我经常读到有关以 Mac 为中心的硅谷潮人(又是那个词)。
此外,显然,如果您打算进入 iPhone 开发领域,那么您将万事俱备。
实际上,问题在于苹果销售硬件和用户体验。使用 Mac,您可以将电脑带到任何当地的 Apple Store 商店进行快速维修和技术支持。他们用他们控制的方便的 GUI 包装了像 Darwin OS 这样的开源 BSD,以提供统一的体验。所以它和你习惯的操作系统一样强大,但对软件和硬件都有惊人的便利。
正如其他人提到的那样,您可以使用 wine 运行 IE,因此对于 Web 开发没有什么是您不能做的,而且还有很棒的仅适用于 mac 的 webdev 应用程序(阅读其他帖子)。
例如,我使用*nix 的全部功能在我的mac 上开发(差异可以忽略不计,就像你需要使用RC 做任何事情并且不想弄乱OSX 的启动)。如果我去当地商场的硬件出现任何问题,他们会尽快修复,然后我会重新开始编程。
您是否真的想购买您的戴尔并在安装任何操作系统时遇到麻烦,然后当它与印度的某个人交谈时,他们会让您将其运送到 Kazmandu 进行修复?
为什么不试试呢?
优点:TextMate 和 CSSedit
缺点:
这是我在 Mac 上看到的用于 web 开发的好东西
CSSEdit(仅适用于 Mac)- 这个包使 CSS 编辑变得更加容易。X射线功能是必备的。Firebug 有一些类似的功能并且是免费的,但它的实现不如 CSSEdit,我搜索了 Windows 等效项,但没有找到。
Adobe 软件的支持可能比 Linux 更好:p
Coda 或 Espresso(仅适用于 Mac)是另外两个我个人认为比 Dreamweaver 更好的 Web 开发套件。
系统相当轻松。处理系统的时间更少。更多的时间用于编码,或者你想做的任何事情。
Exposé 窗口管理也可以节省大量时间
时间机器备份是另一个宝石。易于设置,并节省了我很多次。
据我所知,Mac 上的颜色系统比 Windows 好
Parallels Desktop 或 VMWare 的速度足以调试 IE,因此无需重新启动或单独的计算机。(抱歉,不确定 Fedora 的情况如何)
操作系统界面比 windows 好很多(同样,这里没有 Fedora 经验)。大约需要2周时间来适应(来自几个朋友的经验)。在那之后,通常没有回头路。
当然有缺点,但现在我只能想到一个:
- 笔记本的屏幕很烂……全是TN面板。对于普通用户来说,它们可能已经足够好了,但对于任何对色彩要求很高的工作来说,这都不是问题,所以如果你有一台笔记本电脑,你就想要一台像样的外接显示器。
在开发任何基于 Web 的商业应用程序时,重要的是要赋予“外观”和“可用性”以应有的重要性。在开发阶段,该应用程序在 MAC 上看起来和运行良好,但在 Windows 上运行时,它开始出现问题。
考虑到使用 Windows 或 Linux 的大量目标受众,我觉得 Web 应用程序的开发最好在 Windows 或 Linux 上完成。
Mac 在 Web 开发方面并没有超过 Linux 的优势。如果您在 Linux 上舒适且高效,请不要费心切换。
但是,如果 Unix 具有漂亮的外观和经过深思熟虑的 GUI 对您有吸引力,那么 Mac 是一个很好的选择。我有一个用于工作中的开发,并在家里使用 Linux 进行个人项目。对于开发工作没有太大区别。区别在于所有非开发的东西。
例如,我非常喜欢 Mac 上的 Quicksilver。对于我所做的大部分工作来说,这是一个很棒的界面。不过,我在编写代码时几乎从不使用它。当我启动音乐或打开网页或播放视频或我在这台机器上做的一百件事中的任何一件时,它就会派上用场。润色很好,但是到了认真的时候,我只需打开一个外壳,就可以像在 Linux 上一样高效。
我不能为自己说话,因为我没有 Mac(或一直在使用 Mac),但我在一个充满 Mac 的环境中工作。而且我可以告诉你,他们中的大多数是Mac 用户,也恰好是 Web 开发人员。他们之所以高效,是因为他们利用了 Mac 提供给他们的任何功能,并且可以控制他们的环境。这适用于所有操作系统,但切换涉及您必须愿意接受的学习曲线。
在团队中工作时,您还应该考虑兼容性。我们通常在设置应用程序环境或与不同操作系统之间的代码一致工作时没有任何问题。但是如果你需要做图像编辑的东西,使用非常特定于 Mac 的工具或需要特定的软件(想到 IE),你可能会被绑定到操作系统。
简短的回答:这取决于你需要多少努力来适应。Mac 中的用户体验似乎是决定性的杀手锏。除此之外,它们在生产力方面几乎相同,除了可能有人已经指出的软件。
如果没有其他东西可以检查 Safari 兼容性,那么拥有 Mac 肯定很方便,但我遇到的大多数更好的工具都与平台无关(无论如何,在 .Net 世界之外,甚至它们都有 Mono)。
以下所有内容均可在所有主要平台上使用
- Firefox/firebug 用于浏览器调试(在 Mac、Windows 和 Linux 上)
- 用于 IDE 的 Eclipse 或 Netbeans(同上)
- 雄猫
- Xampp可在所有主要平台上以略有不同的风格使用,并为您提供一整类开发所需的大部分工具。
我可以看到将自己绑定到特定平台的唯一原因 如果您需要定位特定的利基市场,并且应用程序只能在该平台上运行。但是,由于这是您正在谈论的 Web 开发,您很可能会发现自己排除了世界上的大部分地区。
在与各种环境打交道之后。我终于有了以下配置。
- 使用 Windows 进行 Visual Studio Team System 开发。
- 在Windows上使用WinSCP、Notepad++通过sFTP连接Linux机器,开发PHP
- 在 MAC 上使用终端进行 mysql 开发。有时我也在 Windows 上使用腻子。
- 使用 MAC 进行 Flash CS4 和 Flex 开发。
总的来说,在我的上下文中,我发现 Windows 是比 MAC 更强大的 Web 开发平台。