用HTML开发Windows桌面应用程序1

        如果要说明这个题目上的问题,就先要说一下,软件开发的种种方式,从最初的命令行软件开发方式,到可视化的窗口软件,开发方式的进步使得开发难度降低,用户体验也越来越完善,不过今天要谈的是windows下的桌面软件开发方式,关于windows下桌面软件的开发方式,请看下面:

       1. 传统的开发方式。基于WIN32MFC

        这种开放方式最传统,也最简便,从工具箱拖动控件,生成一个变量,打开MSDN找到关于这种的类的定义,便可以对它进行操作。如果技术熟练,开发出一个可以使用的工具,几乎没有难度。但缺点就是界面程序过于简陋,几乎设计师无法参与你的开发工作,只能帮你把图标切出来,可是甭管你的设计师如何帮你设计图标,你做出的软件看上去还是显得如此寒碜


       2.重写MFC控件

        这是一种开发方式上的进步,通过现有的系统组件,重写它的样式,然后把它的实现也重写了,就能完成你想要的功能。

        关于如何实现MFC重绘,可以去参看以下这个代码试试:

        http://www.codeproject.com/Articles/2840/CProgressCtrlST/

        这下,设计师终于可以帮你设计整个界面,并且你也可以按照设计师的设计图完整的实现你的程序。不过你的设计师如果是个很有创造能力的人,设计出一些奇里古怪的界面,你还是会被他的DEMO打败。你会发现一些奇怪的操作方式,通过重写MFC根本无法实现。更操蛋的是,一个程序里可能出现相同的类型,却操作完全不同的多个控件,比如BOTTON,可能你要重写好多个类型,并且每个类实现的功能都不一样。

            这样你只能使用下一种方式。


        3.无窗体绘图。

         这下你终于牛逼了,纵然产品经理是个多么装逼的货,设计师多么有个性,对你来说,他们的需求你都可以实现。虽然这种技术相对上两种来说难度够大,你要敲入的代码也很多,不过只要你会创建一个窗口,然后知道各种消息的原理,尤其要明白WM_PAINT,还有鼠标操作的消息,比如WM_MOUSEHOVE,WM_MOUSEMOVE等,然后用GDI不停的绘图,就可以实现各种操作了。


         比如像QQ,360,MSN等这些看上去很漂亮的界面,都是用这个方式写成的

         关于无窗体绘图技术,看看这个项目

http://www.viksoe.dk/code/windowless1.htm


             你、产品经理、设计师都很满意。


        不过现实是很残酷的,当你开始搞以后,你会发现,相对你旁边写PHP的那帮货们,你的工作要忙非常的多,因为他们把PHP程序写完,基本就完工了,即使页面出了问题,各种效果没有了,只需要扯大嗓门喊过前端开发看他耍牛逼就可以了。可对于你,即使界面上一个像素的改动,都需要你去改,如果你要实现LISTBOX这个很操蛋的功能,你会发现,不经过长时间的调试,极端的可能是,你的列表记录都没有办法完成的输出。或者设计突然改变,或者产品需求突然改变。。。。。。都是你的噩梦,因为你的工作,没有人帮你分担,当你筋疲力尽像打个盹时,你的领导就会走到你面前:


            当然,还有一种开发模式,相信你是最想要的

        4.HTML+CSS+JS

        你只要写好功能的实现,如何现实界面甚至逻辑都和你没有关系了,比如要实现读取一个本地文件并返回内容,你只要createfile就可以了,然后具体返回的内容怎么用,和你就没有关系了,剩下的,就交给前段前端工程师搞就可以了。这个就是我要介绍的重点。


基于HMTL,CSS,JAVASRIPT桌面软件开发方式


HTML,CSS,JS去构建一个桌面程序,其实这种技术并不新鲜,打开你的VS,便可以创建基于MFCDHTML窗口。其实就是内嵌IE浏览器,再调用IE的接口去和JS实现交互

       这种技术的好处在于前端开发人员(HTML,JS)和后端开发人员(c++),可以互不依赖的工作。

        关于这种方式。。。

猜你喜欢

转载自blog.csdn.net/xiaoaiai/article/details/46043077