Safari

Macworld Expo的大软件新闻是Safari, now officially released, albeit in the form of a public beta(还记得过去的好日子,当贝塔是秘密的吗?实际上,改变的是过去被称为“1.0”的东西现在被称为“公共测试版”。)

Safari的首次亮相并没有完全震撼关于苹果秘密“iBrowser”项目的传言已经流传了一段时间,并且在7月前Netscape工程师和Chimera项目联合创始人获得了相当多的动力和信誉戴夫凯悦在苹果公司担任工程职位

在苹果,凯悦工程工作凯悦是Netscape的浏览器工程师他会做什么在苹果,然而,纯属猜测罕见的是苹果的项目,形容词“秘密”的作用应用。

为何选择浏览器?

有几个原因可以让Apple生产自己的网络浏览器最重要的是,一个坚实的web浏览器对任何操作系统的成功至关重要在首次亮相时,Mac OS X没有。

Internet Explorer是Mac OS上安装的默认浏览器,自1997年的Microsoft-Apple we-love-each-other协议以来,看起来很丑陋并且有性能,接口和稳定性问题Subsequent revisions to IE for Mac OS X have made it look better (including support for Quartz text anti-aliasing), but performance is still questionable当然,更大的问题是,只要Mac OS依赖于IE,Apple就会依赖于微软Mac业务单元在微软是一个伟大的支持者苹果在过去的几年里,但它只是良好的商业意识,以避免任何情况下依赖于微软的真诚。

Mozilla是一个跨平台的怪物OmniWeb看起来不错,但屠夫使用CSS的网页。

Opera for Mac is finally out, but you’ve either got to pay for it or put up with ads虽然我是一个大商业软件的支持者,就不可能有争议,绝大多数公众永远不会考虑支付网络浏览器歌剧是一种利基产品,设计。

必须明白,有两个巨大的,几乎完全独立任务参与生产一个web浏览器第一个是HTML呈现引擎 - 浏览器的一部分,它解析HTML并将其转换为屏幕上的图形表示第二个是浏览器应用程序:窗口,菜单,按钮和对话框。

HTML引擎是人们以各种各样的方式编写各种蹩脚的标记,但最终用户希望所有这些不同的网页都能“正确”显示并迅速别忘了,新技术的不断出现和标记规范今天的浏览器仅仅支持表格布局是不够的(咳嗽,咳嗽,OmniWeb)- - - CSS布局需要支持。

浏览器应用程序是很困难的人们花大量的时间在他们的网页浏览器你可能知道第一手多少时间我在说什么浏览器应该能够快速响应鼠标点击它需要支持快捷键迅速完成耗时的任务整个辣酱玉米饼馅需要打包在一个非常直观,有吸引力,不分散注意力的用户界面中为了获得广泛的认可,Mac浏览器需要遵守Apple的UI指南 - 在Windows上看起来很正常的相同界面看起来像Mac上的废话我是否提到过一个体面的网络浏览器应该可以轻松应对内存和CPU使用等系统资源?

OmniWeb是一个很好的浏览器应用程序,带有糟糕的HTML引擎Mozilla,另一方面,是一个可怕的浏览器应用程序(至少在Macintosh标准)和一个非常好的HTML引擎(壁虎)。

但随后Chimera来了。

Chimera使用Gecko引擎,但不使用Mozilla浏览器应用程序相反,Chimera的应用程序层是专门为Mac OS X编写的,使用Cocoa应用程序框架这是一个非常好的浏览器,并且越来越受欢迎。

大部分的猜想关于苹果的传闻浏览器围绕这个想法是来自嵌合体这在表面上有所启发,特别是因为他们聘请了奇美拉项目的联合创始人但如果你考虑一下,那根本就没有多大意义为什么要经历建设新项目的努力基于Chimera, when you could simply use Chimera itself? Chimera was a response to the flawed Mozilla application wrapped around the excellent Gecko rendering engine嵌合体不是需要响应,因为它是一个该死的好自己的浏览器它与Mac OS X上基于Gecko的浏览器非常接近。

But if not Chimera, what? The only apparent option other than using Gecko would have been to write a brand-new rendering engine这似乎不太可能,因为它将构成大量的工程工作良好的HTML渲染引擎不是从天上掉下来壁虎是一个微软有两个(IE for Mac使用完全不同于Windows的IE渲染器),但几乎可以肯定不愿意分享。

所以我,像许多其他人一样,贴现苹果浏览器的存在我甚至认为不适合在我的列表中列出它Macworld预测作为“不”。

KHTML

每个人(好吧,我们大多数人)错过了underpublicized开源的HTML渲染器被称为KHTML,KDE使用的引擎Konqueror的网页浏览器Safari绝对不是Konqueror的端口 - 它是全新的浏览器应用程序,但具有基于KHTML的渲染引擎。

苹果的Safari基地的决定KHTML引擎是巨大的新闻传统智慧(在昨天之前)认为有四个主要符合标准的HTML渲染引擎正在使用:IE Win,IE Mac,Gecko和Opera由于显而易见的原因,Apple无法使用IE引擎,Opera是一个商业项目。

然而,壁虎是开源的一个显而易见的问题(在主题演讲结束之前就开始出现在MacSlash的消息论坛中)是为什么Apple没有使用Gecko这是自由和开放源码,web开发人员的广泛称赞很棒的标准支持。

答案是速度。在昨天给KDE KHTML团队的一封信中Apple的Safari工程经理Don Melton宣称Safari的主要目标是性能:

The number one goal for developing Safari was to create the fastest web browser on Mac OS XWhen we were evaluating technologies over a year ago, KHTML and KJS stood outNot only were they the basis of an excellent modern and standards compliant web browser, they were also less than 140,000 lines of codeThe size of your code and ease of development within that code made it a better choice for us than other open source projects您的简洁设计也是一个优点And the small size of your code is a significant reason for our winning startup performance as you can see reflected in the data athttp://www.apple.com/safari/

整个信息非常值得一读总之,苹果KHTML kj JavaScript引擎,因为他们倾斜,意味着,相对独立这些形容词不适用于Gecko早在五月,Dave Hyatt驳斥了OmniWeb应该放弃自己的渲染器并使用Gecko的想法写作:

我不认为它适合Omniweb用壁虎。

我根据[Merriam-Webster]的以下定义选择了Chimera这个名字。

一个想象中的怪物,由不协调的部分组成

上面的关键词是INCONGRUOUS壁虎不适合在Objective - C和Cocoa,但无论如何我们使它工作:)

壁虎是一个厚的跨平台的代码库,不重用组件已经实现的操作系统它在C ++中实现了自己的所有数据结构,从字符串到哈希表它实现了自己的URL类,自己的网络层,一个完整的小部件库,必须包装本机表示(Cocoa NSViews)等等代码是巨大的(超过150万行),很难理解它无可救药地纠缠在一起It wrongly uses a thick reference counting system called XPCOM to communicate even in the guts of the networking layer and layout engine, forcing you to pay a reference counting churn penalty (Obj-C does not have this problem, because it doesn’t burden the caller with the duty of releasing a reference count augmented by the callee)它的线程模型非常弱,仅用于将网络提取推送到单独的线程,同时占用UI线程以进行图像解码,解析,文档树构造,渲染树构造,脚本执行,样式分辨率和渲染Gecko强迫您支付巨大的启动时间,因为它的代码占用空间很大Chimera的启动时间比Omniweb或IE慢。

[...]

壁虎所需要的正确性(和一个非常大的范围的实现标准!),但我宁愿看到有人试图做得更好OS X上完成的浏览器应该能够在速度和占用空间方面为Gecko带来灰尘它应该能够在启动时间和页面加载时吸烟Gecko事实上,这还没有完成,并不意味着它无法完成。

这些言论的先见之明如何?

像速度2,只有一辆公共汽车而不是一艘船

Apple的Safari营销主要关注性能,这是正确的即使在β,Safari踢屁股应用程序启动时间,页面加载,JavaScript执行 - 如果你可以使用秒表,Apple会在比赛前面安​​装Safari(但是,Apple公布的基准测试中缺席的是Opera,它长期以来一直称其为世界上最快的浏览器。)

但即使没有秒表,只需使用Safari几分钟,它显然比IE或Chimera感觉更快性能是Apple关注的重要领域,因为即使使用快速浏览器,网上冲浪也需要相当多的等待除了网络之外,当您需要等待浏览器时,它有时会很痛苦。

有线新闻由Paul Boutin去年4月,“新款iMac为何如此慢速冲浪?”, struck a chord and received quite a bit of publicitly真相受到伤害:Mac OS X网络浏览器无疑比Windows同类产品慢(尽管正如Peeve Farm上个月报道的那样,即为Windows的一些性能是通过作弊。)

Apple的目标是让Safari成为Mac上最好的浏览器What’s unstated, but clearly their larger goal, is to make it the best browser in the world, period一个崇高的目标,但显然可及昨天揭晓的公众测试版是一个了不起的开端。

各种评论特定功能

拉丝金属皮肤

我对Safari的最大抱怨是纯粹的化妆品:它采用了Apple拉丝金属质感的窗户皮肤,但不应该。Apple自己的UI指南声明

This window style has been designed specifically for use by—and is therefore best suited to—applications that provide an interface for a digital peripheral, such as a camera, or an interface for managing data shared with digital peripherals, such as the Address Book application.

例如,这种外观也适用于努力重新创建熟悉的物理设备的应用程序 - 计算器应用程序避免在与数字外围设备无关的应用程序或实用程序或与这些设备关联的数据中使用纹理窗口外观。

Michael Tsai提供易于理解的说明用于调整Safari的nib资源,以便它使用正常的Aqua外观但苹果公司应该改变这个工厂Remember when Apple was the company that promoted UI consistency? The brushed metal skin is a joke — it’s about as cool as showing up at a formal affair wearing one of those印有燕尾服翻领的T恤衫

AppleScript支持

I haven’t had a chance to do more than look at Safari’s scripting dictionary, but it’s a disappointment — no apparent support for the standard browser Apple event suite我会给苹果通过现在因为它仍处于测试阶段,但绝对零理由不希望苹果自己的浏览器将很快提供最好的AppleScript支持平台。

输入字段中的指令文本

内置的Google搜索字段非常酷但我鄙视“指令文本”,填满盒子没有输入焦点。

Safari的Google搜索字段的屏幕截图。

马修·托马斯钉歌剧的同样的错误

Opera重复了在狭窄的网站中常犯的错误:在文本字段本身内放置填写文本字段(在本例中为“Google搜索”)的说明通过让他们认为在输入自己的文本之前需要删除指令,这会减慢人们的速度。

Safari做同样的事的位置文本输入字段这些指令不仅是Mac用户界面指南相反,他们只是多余的每个人都知道如何使用位置字段,并且Google字段很容易在没有提示的情况下弄清楚报废他们。

历史和书签

Safari的历史和书签功能做得很好奇美拉甚至没有提供适当的历史(还)苹果公司把大量的工作这些特性,和它显示。

首选项
Safari的偏好非常轻盈四个面板和几个选项与IE比较和对比Safari的一些首选项切换是一个功能,而不是缺陷,并清楚地表明了使默认行为有用的工作量和思想。
位置自动完成
位置栏中的自动完成需要变得更加智能我常常想做的是访问父目录的页面我最近访问了所以我开始打字位置和Safari的自动完成填写完整的URL我选择要剪裁的URL的一部分,然后点击Delete键但此后不久,自动完成再次启动并重新填充我刚删除的URL部分使绿巨人生气。
状态栏
Safari的状态栏显示默认关闭,但您可以通过“查看”菜单将其打开这是吉姆 - 戴迪作为一个不错的小动作,如果您将鼠标悬停在链接上,状态栏会告诉您如果单击会发生什么For example, if you hold down the Command key while hovering over a link to this site, the status bar will say “Open ‘http://www.www.gazogooz.com/’ in a new window”按住Shift键,状态栏将“在后台”添加到目标说明美丽。
文字选择

在IE中,文本选择通常非常困难单击并拖动文本,通常不会被选中Safari中没有问题,这似乎可以让您轻松准确地选择文本唯一的障碍是它没有使用标准的工字梁光标进行文本选择,而是坚持使用箭头。

进度条位置字段

可怕它看起来像partially-selected文本请废弃它。

选项卡式浏览,或缺乏

唯一最大的抱怨似乎是Safari缺乏对标签式浏览的支持我说,艰难的noogies标签式隐喻有些缺陷首先,如果您有多个选项卡,它会崩溃,因为文档标题不再适合选项卡,需要被截断。

这并不是说打破传统的单窗口网页隐喻没有一些实用性,但我不认为选项卡是最佳解决方案我的猜测是,Safari的工程师有更好的,,只是没有时间去实现它。

但即使他们做计划来实现Chimera-like标签,Safari的工程师不应该指责不让他们进入公测用户界面工作需要时间——多标签浏览当然不会一直值得持有的最初版本。

进一步阅读

Mark Pilgrim:“Safari评论”。

马修·托马斯:“时间长,慢,适合咯咯笑”。

Erik J.Barzeski:“YA Safari Post”。

迈克平克顿:“所以我打赌你想知道我对Safari的看法。”

以前: 长方形
下一个: 100%棉的