> 好像有点难,虽然Mac和Linux同出Unix(Mac基于FreeBSD之类的)
> 但是Mac似乎如同M$一样是一个泛内核系统,而且系统结构也和Linux用些出入,所以转换起来,还是如同在另一个不同的系统中一样,还是要重新设计。

其實內核還好,就我所知,System Calls基本都是POSIX加一些擴展,大同小異。當然小異也可能很煩人,比如一System
Call在Linux傳入NULL下沒事,在OSX下直接給你個Segmentation fault⋯⋯

麻煩的是GUI,Windows開發者喜歡用原生的Win32 SDK/MFC,Mac開發者也喜歡原生的Cocoa,有習慣的原因,也有Look
and Feel的考慮,用這些專有Toolkit開發的東西都是很難移植的。

GUI的一個死結是,各平台原生的GUI能力都是不盡同的,所以跨平台GUI Toolkit必須面對一個艱難的決定:
1、封裝各平台的原生GUI,但最終得到的能力是各平台能力的交集,往往比較受限。
2、直接調用各平台的圖形函數,自己畫出各種控件,但這就容易導致Look and Feel的問題,有時候在不同平台用不同Theme可以稍微蒙下人。

Qt可能是商業跨平台開發的最佳選擇了,無責任評論。
-- 
ubuntu-zh mailing list
ubuntu-zh@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh

回复