首先,参考sailfishos.org的介绍,可以简单总结sailfish os的架构如下:
(越往下越底层)
1,apps
2,中间件&UI(专利的silica UI)
3,mer套件(各类库,图形方面的wayland和qt,包管理,etc。。。)
4,适配硬件的内核
5,硬件
3,4,5层对于几乎任何智能设备来说都是通用的,jolla说过他们成立以来已经向mer project提交了很多代码,而这些代码都是经由开源协议发布的。mer自己也说明打算和tizen共享成果(虽然samsung不争气
)。4,5层受限于硬件制造商,应当与其他android机型无异(反正都是适配到linux内核的)
而2层,则是基于wayland/QT打造的silica UI 以及电源管理,输入法等等。1层就是关键的apps层了。
我没记错的话,这应该是wayland的第一次大规模正式应用。wayland对于很多人来说应当很陌生。这里简单介绍一下,wayland是一个新生代的显示服务,用来取代X(或者与X并存)。wayland的任务是取得用户的输入(键盘,鼠标,触摸屏)然后将apps的反馈输出到屏幕。技术性介绍及与X的区别请参考wayland.freedesktop.org。总而言之,wayland相对于X有较明显的架构优势,能带来更优秀的显示性能。不过在我的笔记本上,wayland和X的性能差距几乎无法察觉,但在性能低下的移动设备上,wayland还是很有利的。
而QT虽然几度易主,但其雄心一直没变。QT一直有为移动设备优化性能,也实现了对wayland的较为完善的支持。jolla也得以直接使用了成熟的技术来打造自己的设备。
至于包管理,则是各类distro的优秀传统。jolla虽然有弱化包管理地位的嫌疑,但包管理是一个distro的重中之重。我认为linux之所以安全,除了架构上的优势,包管理也扮演了很重要的角色。android早期版本忽视了play的建设,直到后来才逐步赶上。而iOS则是很好的移动设备的包管理的例子,除了成熟的付费购买和app内购买机制,安装app前输入密码也充分表达了对用户的尊重。而一个平常的linux
distro的包管理机制是这样的:
1)由app的开发者提交自己的app到官方源里(提交的权限由distro的开发者赋予,因此有很多情况下是一个可信用户“替别人”打包了很多app的情况)
2)世界各地的源定期与官方源同步,然后其他用户则通过这些源更新或下载新app
3)这期间的可信性由GPG来确保
然后来看看与android的主要区别:
wayland vs SurfaceFlinger, 难分高下
pulseaudio vs AudioFlinger,
AudioFlinger有一个奇怪的resample问题,很早以前已经有人提到,不知道现在修复了没有。
rpm vs apk,
二者似乎都无需多言,jolla的包管理概念应该更接近与传统distro。
SilicaUI vs ???
以滑动为主的Silica UI对大拇指的要求更高(笑),氛围功能也很赞,令整个界面的风格十分统一。现在我们再不必竭力去摸android的三个按键,顺便省下一些像素点了。而android的可编程的back按钮这种奇怪的逻辑都是后话了。
Sailfish OS还有一个巨大优势就是真・多工处理(LiveMutitaking)。包括home screen上的卡片,实时滑动退回后台或者直接滑动关闭,大概算是桌面级的最小化和关闭按钮在移动设备上的完美实现吧。虽然不知道jolla用了什么黑科技,但是从演示来看,有人实测开了23个原生app后仍然保持有800M+的可用RAM。
#总结
sailfish os的社区背景更强,技术上的优势主要有继承自meego的手势操作,桌面级的多工处理,更开放的底层架构。这带来了两个群体的粉丝:接受并喜欢(沉迷)meego手势操作的人以及来自开源社区,追求开源自由的用户。很不幸我两者都是。
而i2c,虽然很特别但是我一直没有提到。因为我不敢说这是个优势,而更像是一个试验。但对于爱动手的geek来说还是很好玩的,但是还没有成为一个主要卖点,除了特别的the other half后盖。应该要等到全键盘other half面世之后才会成气候
(越往下越底层)
1,apps
2,中间件&UI(专利的silica UI)
3,mer套件(各类库,图形方面的wayland和qt,包管理,etc。。。)
4,适配硬件的内核
5,硬件
3,4,5层对于几乎任何智能设备来说都是通用的,jolla说过他们成立以来已经向mer project提交了很多代码,而这些代码都是经由开源协议发布的。mer自己也说明打算和tizen共享成果(虽然samsung不争气

而2层,则是基于wayland/QT打造的silica UI 以及电源管理,输入法等等。1层就是关键的apps层了。
我没记错的话,这应该是wayland的第一次大规模正式应用。wayland对于很多人来说应当很陌生。这里简单介绍一下,wayland是一个新生代的显示服务,用来取代X(或者与X并存)。wayland的任务是取得用户的输入(键盘,鼠标,触摸屏)然后将apps的反馈输出到屏幕。技术性介绍及与X的区别请参考wayland.freedesktop.org。总而言之,wayland相对于X有较明显的架构优势,能带来更优秀的显示性能。不过在我的笔记本上,wayland和X的性能差距几乎无法察觉,但在性能低下的移动设备上,wayland还是很有利的。
而QT虽然几度易主,但其雄心一直没变。QT一直有为移动设备优化性能,也实现了对wayland的较为完善的支持。jolla也得以直接使用了成熟的技术来打造自己的设备。
至于包管理,则是各类distro的优秀传统。jolla虽然有弱化包管理地位的嫌疑,但包管理是一个distro的重中之重。我认为linux之所以安全,除了架构上的优势,包管理也扮演了很重要的角色。android早期版本忽视了play的建设,直到后来才逐步赶上。而iOS则是很好的移动设备的包管理的例子,除了成熟的付费购买和app内购买机制,安装app前输入密码也充分表达了对用户的尊重。而一个平常的linux
distro的包管理机制是这样的:
1)由app的开发者提交自己的app到官方源里(提交的权限由distro的开发者赋予,因此有很多情况下是一个可信用户“替别人”打包了很多app的情况)
2)世界各地的源定期与官方源同步,然后其他用户则通过这些源更新或下载新app
3)这期间的可信性由GPG来确保
然后来看看与android的主要区别:
wayland vs SurfaceFlinger, 难分高下
pulseaudio vs AudioFlinger,
AudioFlinger有一个奇怪的resample问题,很早以前已经有人提到,不知道现在修复了没有。
rpm vs apk,
二者似乎都无需多言,jolla的包管理概念应该更接近与传统distro。
SilicaUI vs ???
以滑动为主的Silica UI对大拇指的要求更高(笑),氛围功能也很赞,令整个界面的风格十分统一。现在我们再不必竭力去摸android的三个按键,顺便省下一些像素点了。而android的可编程的back按钮这种奇怪的逻辑都是后话了。
Sailfish OS还有一个巨大优势就是真・多工处理(LiveMutitaking)。包括home screen上的卡片,实时滑动退回后台或者直接滑动关闭,大概算是桌面级的最小化和关闭按钮在移动设备上的完美实现吧。虽然不知道jolla用了什么黑科技,但是从演示来看,有人实测开了23个原生app后仍然保持有800M+的可用RAM。
#总结
sailfish os的社区背景更强,技术上的优势主要有继承自meego的手势操作,桌面级的多工处理,更开放的底层架构。这带来了两个群体的粉丝:接受并喜欢(沉迷)meego手势操作的人以及来自开源社区,追求开源自由的用户。很不幸我两者都是。
而i2c,虽然很特别但是我一直没有提到。因为我不敢说这是个优势,而更像是一个试验。但对于爱动手的geek来说还是很好玩的,但是还没有成为一个主要卖点,除了特别的the other half后盖。应该要等到全键盘other half面世之后才会成气候