【杂谈与乱码】界面制作漫谈

【杂谈与乱码】界面制作漫谈

本人(ID:蒸发杰作)旗下所有文章均放弃版权,请任意使用。只是如果您觉得,看了我的文章,有所收获的话,不妨点个赞,写个评论。这是对我最大的支持。

​ ——给界面以程序,而不是给程序以界面。

每个程序员都需要给程序以界面。

但老实说,程序员,并不都擅长做界面;甚至可以说,大多数,都不擅长。

好在,今天的我们不再需要花费太多时间做界面。

虽然很夸张,但仍旧可以这么说,程序的发展史,就是不断减少界面开发难度的历史。而反观核心代码部分,自从高级语言诞生至今,仍旧还是那么几个循环遍历,库的封装自C语言函数库之后,就没有本质改变。

给程序以界面

首先windows就为我们提供了良好的界面支持,不论是基于win32的MFC(C++)还是winForm(c#)。都实现了控件可拖放。尤其是C#,其IDE为这种拖放提供了良好的支持,做到了真正的所见即所得,人工可定制。上手三天就可以做各种强大的界面,例如我自己做的这款成语接龙。

1545577226055

这对很多以Python,C语言等为入门语言的人来看,不用管什么第三方的约束,所见即所得,是很叫人羡慕的。

很多人“程序大师”在新手学习编程的时候都说,年纪轻轻不用搞界面,搞控制台不就好了么?啊?

但对于网页开发的人看了,却会说,没有界面的程序能叫程序?啊?

网页端提供的强大绘图支持真的远超一切其他语言。

网页端的三大马车,负责内容的HTML,负责样式的CSS,负责行为的JS。三者共同发展,创造了无人可以比肩的巨大生态链。这使得哪怕作为语言而言,js虽然是一门不大优秀的语言(很多投票中反映的结果),但却是使用人最多的语言。例如,下面是CSDN首页。

1545578135437

请假设这是一个程序,一个拥有其在网页版本下所有功能的网页。

可以缩放,可以通过浏览器设置字体大小,可以利用浏览器在不同语言之间切换,左右可以随意添加广告。几乎所有按钮点击的时候都有良好的点击高亮。

这样的一款软件是很成熟的。如果他不作为网页而是直接作为软件发布的话。相当成熟。极其厉害。

这也是为什么最近兴起了动态语言静态化,动态网页静态化。(如利用网页打包成APP)

可以这么说,网页端的思想和传统的程序的思路是相反的。

具体来说,传统编程,给程序以界面;网页制作,给界面以程序。

正是这种思路上的差异,导致了两者的格局差异。

给界面以程序

所有的网页开发者一定程度上从界面开发的底层中解放了出来。浏览器用整齐划一且动态修饰的方法,完成了这一步。

微软完全可以学习这点,之后可以设计一个脱离于网页但又类似于网页的新WINDOWS下的程序。

当然,实际上微软已经做过这一点了。此即WPF。

用XAML完成类似网页的HTML部分和CSS部分,C#代码完成JS部分。

WPF中XAML与HTML本质相同,但一定的形式隔阂使得学习HTML的人没法第一时间上手WPF,这是微软公司的一大损失,当时如果再把XAML再和HTML设置得形式像一点就更好了。

1545578782450

这是我用WPF重新开发的成语接龙界面。右边是界面代码,学习前端的朋友能很容易看出,右边的XAML的几乎就是HTML的翻版。之后你需要重复用这个界面的时候,直接COPY一下就行了,稍作修改就行了,简单至极。

然后再重新给各个元素添加对应的事件响应函数就好了。

而传统的程序要怎么实现复用呢?

必须把整个项目传给别人,别人再你程序的基础上做修改。

孰优孰劣,一看便知。

可以想象WPF的发展前景是不可限量的。就像搜索类库一样,之后我们开发软件的时候完全可以先搜索界面。有了界面,再给界面添加事件就可了。

更有甚至,如果VS开发出一套VS-XAML来呢?所有窗口都可以自由定义,自动缩放,其他各种设置VS能做的,你也能做。而且还是用一种类似于声明式的语言。我保证,VS风格的软件绝对会一统天下!

所有的小型开发者都可以完全从界面中解放出来(界面的一些基本行动也被涵盖进了界面中),写界面,写你个头啊,不用写了。

我先前就在一篇文章(声明化编程的优点)中讲过声明式样编程的优点,我如此总结道,**只要操作固定(点击,移动到上边等),元素少(按钮,文本框,图片,链接等)的编程,都可以声明化。**在未来某一天,很有可能爬虫也会被声明化。高度重复的部分用类库予以支持,进而用声明化取代,这就是编程发展的趋势。

未来,如果说未来人人都会是程序员,未来的编程的分工将被进一步细化,例如做界面这种工作,肯定会被进一步分离出去。各位拭目以待吧。

猜你喜欢

转载自blog.csdn.net/qq_40938169/article/details/85227932