为什么不建立一套在Linux上的WinAPI 以方便移植?
Tofloor
poster avatar
treenew
deepin
2020-09-07 19:40
Author
现在从Windows移植过来的应用基本上都是通过QT库,可是移植到QT的工作量并不小,而且后继的开发还要继续移植到QT上来,开发量还是很大。这种移植工作量大,在后继开发中还容易被放弃。

那么为什么深度不集中力量开发一个类似QT的库,但是它的API是兼容WindowsAPI的呢?这样应用程序的移植只需要少量的调整,就可是直接编译连接这个WinuxAPI,就生成可以在Linux运行的应用了。而且后继开发基本上没有什么移植工作量,只是编译调试罢了。

现在Wine本身已经提供了大量的WinAPI的内容,只是Wine的目标是直接运行二进制程序,而不是提供一个API库进行编译连接。现在看来Wine的步子太大,扯蛋了。在它上面能跑一些程序,但是跑起来蛋痛。而且这些个蛋痛还不容易调试。如果是编译连接API库的源代码,那么调试起来就容易的多了。开发速度也能快很多。

深度完全可以利用Wine已经实现的API重新打包一个WinAPI兼容库,让应用程序商来进行移植。

说起来,我记得以前Wine项目是有这个兼容连接库的,libwine什么的,方便游戏开发商进行源代码移植,但是当时把Windows的应用移植到Linux的风气不大,而且一开始就是大型游戏的移植,存在一些问题,所以后来这个项目就没什么声音了。而且这个libwine可能需要跟Wine本身紧密耦合,所以结构设计上也许也有些问题。

现在深度作为一个对Windows和Linux都有很深了解的开发商,又有迫切的需要移植大量的Windows上的应用,拾起这个项目,或者重新设计结构,在利用现有的Wine内容,扔掉里面兼容Win7以前版本的东西,应该能走得更远!




Reply Favorite View the author
All Replies
早起的虫儿有鸟吃
deepin
2020-09-07 19:54
#1
这个事充钱就可以解决。
Reply View the author
liwl
deepin
2020-09-07 19:55
#2
不应该是取代win吗?兼容只是缓兵之计
Reply View the author
wanzhendema
deepin
2020-09-07 20:17
#3
搞这玩意儿干啥,再怎么搞也没有windows好用。兼容几个软件比其他发行版好用就行了。
Reply View the author
辉夜
deepin
2020-09-07 20:24
#4
建议让开发商直接开发个deb包
Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2020-09-07 20:26
#5
wine不是长远之计,也无法跨平台
Reply View the author
walle
deepin
2020-09-07 20:36
#6
实际实现难度较大
Reply View the author
pgxppp
deepin
2020-09-07 21:29
#7
微软API是闭源的,想重新打造一个Windows难如登天,即便是要做也是内核来做,而不是由桌面环境来做
Reply View the author
Ziggy
deepin
2020-09-07 23:06
#8
深度:我也想啊,这该死的温
Reply View the author
jalawov
deepin
2020-09-08 01:11
#9
wine以后的路子越来越难了,现在windows10的新api wine已经完全不支持了
Reply View the author
mcaoser
deepin
2020-09-08 01:34
#10
本帖最后由 mcaoser 于 2020-9-7 17:35 编辑

用wine把常用WIN程序运行起来,吸引用户换系统,当用户达到一定程度,软件开发商就会自发开发linux下相关应用,毕竟wine应用问题多,资源消耗大。这是一个比较廉价可行的方案
Reply View the author
521deepin
deepin
2020-09-08 03:24
#11
如果实现了,就会收到微软的版权律师函,基本是实现很难,毕竟是闭源的瞎子摸象,如果实现了还要审核代码是否侵犯微软的专利
Reply View the author
走钢丝
deepin
2020-09-08 03:45
#12
wine 好像有开发库啊,程序也可以基于 wine 开发。
Reply View the author
treenew
deepin
2020-09-10 03:58
#13
https://bbs.deepin.org/post/201514
如果实现了,就会收到微软的版权律师函,基本是实现很难,毕竟是闭源的瞎子摸象,如果实现了还要审核代码是 ...

API 兼容的官司谷歌已经跟Oracle 打过了:安卓上JAVA API的官司。结果是谷歌赢了,安卓可以继续用。
Reply View the author
treenew
deepin
2020-09-10 04:04
#14
https://bbs.deepin.org/post/201514
wine 好像有开发库啊,程序也可以基于 wine 开发。

wine 的开发库很明显问题很多,几年前有几个游戏公司用过一段时间后来放弃了。

很明显这个开发库不是wine的主业,他们并没有在上面下太多功夫。不过事后诸葛亮的看wine的现状,可能把主要精力放在兼容开发库上,可能相对来说开发难度更低,也更能吸引应用软件公司的参与。

Reply View the author
jingle
deepin
2020-09-10 16:39
#15
发展原生生态才是王道
Reply View the author
Comments
winterfive
2020-09-11 01:00
说得好!