用“Web的思想”做PC客户端
2013-05-18 08:46
169 查看
一直在想,用HTML搭建前端页面这么方便,而且效果这么炫,为什么在PC端的软件要如此麻烦呢?就连C#也是,更何况C++了。
尽管C++有DirectUI这样优秀的图形库,但是开发起来仍然非常吃力。C#的WPF虽然工具链完善,但是要熟悉仍需要一段时间。而HTML则是大多数人能够容易入门的语言,用Web的思想来搭建PC端,移动端的客户端应该会更加容易。(当然,速度比Native语言肯定是有点差别的)
刚刚在CSDN上看到了一篇”豌豆荚2.0重构“的文章,在重构时,豌豆夹团队同样选择了Web的方式作为客户端前端,后端逻辑则使用C++。
所谓基于Web的方式,就是在整个应用内部,绝大部分的UI设计和通信模式都和Web应用类似,用HTML以及CSS、JS来绘制界面,通过Ajax等调用来获取数据。
在豌豆荚的实现中,豌豆荚团队使用了Chromium中抽取了一套UI框架定义的Webkit和C++语言作为前后端的实现基础,用Protocal Buffer来描述通信协议的数据。
[caption id="attachment_852" align="aligncenter" width="593" caption="豌豆夹2.0技术架构图"]
[/caption]
这让我想到了最近的工作。我们同样使用了HTML+CSS+JS来构建前端页面,后端采用Ojbect-C来处理大规模的逻辑计算。通过我们内嵌的Webkit容器,将命令传递给后端来进行处理。
看到豌豆夹使用了豆瓣的开源框架OneRing,OneRing是一个跨平台的桌面应用框架。类似的开源还有:thrift
准备研究一下...
尽管C++有DirectUI这样优秀的图形库,但是开发起来仍然非常吃力。C#的WPF虽然工具链完善,但是要熟悉仍需要一段时间。而HTML则是大多数人能够容易入门的语言,用Web的思想来搭建PC端,移动端的客户端应该会更加容易。(当然,速度比Native语言肯定是有点差别的)
刚刚在CSDN上看到了一篇”豌豆荚2.0重构“的文章,在重构时,豌豆夹团队同样选择了Web的方式作为客户端前端,后端逻辑则使用C++。
所谓基于Web的方式,就是在整个应用内部,绝大部分的UI设计和通信模式都和Web应用类似,用HTML以及CSS、JS来绘制界面,通过Ajax等调用来获取数据。
在豌豆荚的实现中,豌豆荚团队使用了Chromium中抽取了一套UI框架定义的Webkit和C++语言作为前后端的实现基础,用Protocal Buffer来描述通信协议的数据。
[caption id="attachment_852" align="aligncenter" width="593" caption="豌豆夹2.0技术架构图"]
[/caption]
这让我想到了最近的工作。我们同样使用了HTML+CSS+JS来构建前端页面,后端采用Ojbect-C来处理大规模的逻辑计算。通过我们内嵌的Webkit容器,将命令传递给后端来进行处理。
看到豌豆夹使用了豆瓣的开源框架OneRing,OneRing是一个跨平台的桌面应用框架。类似的开源还有:thrift
准备研究一下...
相关文章推荐
- 用“Web的思想”做PC客户端
- PHP判断客户端是PC web端还是移动手机端方法
- 客户端判断 PC/WEB
- PHP判断客户端是PCweb端还是移动手机端方法
- 使用PHP判断Web客户端访问设备类型(手机、平板、PC)的方法
- PHP判断客户端是PCweb端还是移动手机端方法
- Android手机 (客户端)和PCweb 端(服务端)的socket通信
- PHP判断客户端是PCweb端还是移动手机端方法
- PHP判断客户端是PCweb端还是移动手机端方法
- python 网络编程笔记(一)-WEB客户端
- ASP.NET AJAX客户端编程之旅(四)——以组件的思想开发Ajax应用:客户端组件初探
- android 客户端与web服务器端通信
- /* .Net/C#: 实现支持断点续传多线程下载的 Http Web 客户端工具类【转】
- 如何处理 XML Web services 客户端所要求的 SOAP 标头
- 轻松架设xmpp的web客户端jwchat
- loner_li AJax 无刷新 省市县三级联动(webservice+sqlhelp)客户端控件版和 有刷新 web版
- Android客户端与PC服务器实现Socket通信(wifi)
- 再谈客户端脚本与 WebControl
- 用几十行代码写一个可以在PC Web,PC桌面,安卓,iOS上运行的程序