本文我们只谈界面。

大部分人最开始学习编程是Console,搞个计算器啥的,后来高级一点能做一个俄罗斯方块出来。很羡慕那些能做出界面的,于是大二学了MFC,一开始看《深入浅出》怎么都搞不懂,后来我们班的一个女生教了我两个小时,我一下子通畅了,用GDI半个月苦哈哈的做了第一个当时觉得还能看得界面(不用任何控件哦)连箭头都是用三根线拼起来的!

后来学习了C#,当时是一本速成的C#开发100例,看完《实现简单的播放器》以后,“我靠,怎么这么简单!”于是便投入了WinForm的怀抱。然后做了当时大四在实验室里完成的第一个项目,有关移动网络规划优化的GIS模块和数据库模块,就像这个样子。这个界面用了大量的继承和重载,不过那会我连值和引用类型都分不大清楚。

后来,大四暑假便接触了WPF,反正查了一堆资料,大概意思就是原来用C#生成的界面,现在用xaml这种东西定义了。我往设计器里拖了一个正方形,设置了一个路径动画(就像flash)那样,方块动起来了!哈哈,我觉得我学会了WPF! (事实上,做了这么久,我都没觉得我”精通“WPF).

之后做了一大堆的界面,反正我是程序员兼设计师,我想怎么设计怎么设计。MVVM啥的根本不懂,还是耦合+绑定这种半吊子,这是刚学WPF没多久做的3D效果:

后来做了不少游戏,不少界面,不少工具,画音频波形的,监控心跳的,一堆一堆的。此处因为各种原因就不贴图了。

(我们进入了新世纪,新时代)越来越多的代码是js和php了,越来越多听都没听过的名字出现了,啥是nodejs, jQuery? 越来越多的文章介绍的都是web开发了。我依然低头走着自己的老路,看着时代远去的背影,苦哈哈的玩了好长时间的WP和SL。 做出来几个应用,咦?二十个开发者里才能找到一个做过类似东西的人。

时间长了,其实不是不想改变,是因为拖家带口。桌面时代,自己积累了大量的框架,知识和代码,尤其是自己写的框架,这些框架虽然号称低耦合,实际上就是针对桌面定制的。如同一条大船,想转弯就要付出相当可观的代价——放弃。

最近一两年,经常有人感兴趣我做的东西,给个Demo玩玩呗。花好长时间打包,动辄上百兆的安装文件,发过去,靠,跑不起来!忘了装.NET了,忘了某个依赖库了,忘了数据库连接了,我过去帮你看看,啊,怎么还搞不定...,升级的复杂性,用户使用的复杂性,局限性,只能在Windows上跑,哭。

君不见,07年的时候,中关村的电脑城人山人海,现在门可罗雀,我这种号称去过40次以上的人,现在都是低着头跑到鼎好五层,吃个面条下来了。大家都去哪了?京东,淘宝。电脑出货量直线下滑,人们的焦点跑到手机这样的终端设备去了。

君不见,电视放在客厅,基本只有蒙灰的份。绝大多数人回家钻被窝开始在平板上看剧,一切App都要讲求用户体验,讲求“轻量”,“快速迭代”,“以用户为中心”!现在甚至连App都不流行了,装App太麻烦了,都用微信公共号了!

   君不见,网上的各种SDK,肯定有安卓的和iOS的,官方心情好会放个JAVA或者Python的,至于能遇上一个.NET甚至是WP的SDK,那肯定是“千年等一回”。

有时候会自我安慰,说桌面端的性能会比较好,比较快,定制方便...可是现在真有什么是桌面能干而web或移动端干不了的?各种开源框架,web开发工具满天飞,实现一个百度地图的功能如此轻松,而在桌面上却要大量的代码,还有一堆坑等着去踩。移动端都异步多少年了,桌面端还在纠结怎么异步,算了起个线程吧再。真的不用拿“大数据”和"性能"来搪塞,web做大数据的工作,比桌面端更有优势,网速现在已经不是问题,之后更不是问题!

关于用户体验,用户只要简单的输入网址就能访问和使用web服务,相比之下桌面的部署,连开发人员都觉得恶心。电脑如同被各大公司嫌弃的弃儿一样,一个功能在手机上用起来很容易,在电脑上却困难得要死。我实在不想提微信和QQ的例子了。

移动端众人拾柴火焰高,桌面端门前冷落车马稀! 我也知道在博客园写这种文章,就相当于指着很多人的鼻子说,你这碗饭里的饭不好吃,赶紧别吃倒了吧。肯定会让大家很不爽。不过,到底好不好吃,其实大部分人看得清楚。

其实本身不是桌面客户端的问题,是时代变了,变天了。轻量,简单,小型化,懒,好用,讲求“服务“,这些成了人们的主流观点。像我们这种沉重的“桌面”落后于时代,如同四十年前的大型机落后于两千年的笔记本一样。看了《黑客与画家》,我更深刻的认识了这些。

脚本风格的全小写命名法,不一定就比高大上而冗长的驼峰命名法差,用notepad++敲出来的算法,效率不一定就比开个VS2015自动提示出来的低;能在公共云上部署的代码和服务,效果也不一定比装半天IIS得到的烂。

在某一项技术上花费超过两千小时的时候,转变其实是困难而艰辛的。重要的其实是思维方式的转变,开放,免费,服务,乐于拥抱世界,远比封闭,沉重,付费,固步自封强得多!

桌面开发者的界面故事,该醒醒了相关推荐

  1. 兄弟们,快醒醒,我们的跑马灯不跑了。

    销售GG在工作群里:"弟兄们,快醒醒,咱现场的跑马灯不跑了." 还在加班的程序猿:"已经查过了,程序没Bug." 带娃玩的硬件攻城狮:"硬件没问题,这 ...

  2. 在外包公司从 Java 后端干到安卓开发,你醒醒吧,阿里大师推荐的这份 Java 开发必读书单

    先是工作内容的问题. 当初他应聘的岗位是后端开发,可现实却是他既要写后端,也要写客户端.本着做的多做的广可以学到更多的原则,他并不是非常在意这个问题,边做边学,渐渐地也上了手. 其次是工作量的问题. ...

  3. Atitit 使用h5技术( html css js)制作桌面程序gui界面解决方案attilax总结

    Atitit 使用h5技术( html css js)制作桌面程序gui界面解决方案attilax总结 1.1. 理解Atwood定律 1 1.2. H5做出个html的ui是很方便的,跨平台 2 1 ...

  4. Atitit 使用h5技术 html css js 制作桌面程序gui界面解决方案attilax总结

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Atit ...

  5. 透过率和反射率的关系_全国本科率只有不到百分之五?!醒醒吧!

    近日,各行业平均工资的走势的一段视频火爆各大媒体,先来看一下这段视频 各行业年平均年薪https://www.zhihu.com/video/1263226462607867904 透过视频我们看到, ...

  6. 微信开发者工具 wxmi修改模版颜色_网站建设公司讲解:微信小程序的开发者工具界面...

    网站建设公司深圳市博纳网络信息技术有限公司()讲解:微信小程序的开发者工具界面 创建项目后,进入到微信开发者工具界面,界面大致可以分为6个区域:①菜单栏区域,②模拟器.编辑器.调试器显示与隐藏区域,③ ...

  7. netcore5开发Android,那些鼓吹国内首个.NET 5框架的,该醒醒了!

    原标题:那些鼓吹国内首个.NET 5框架的,该醒醒了! 前两天看过园子里有篇[国内首个 .NET 5 框架 XX 斩获 XXX stars,XXX 发布],一顿羡慕嫉妒恨啊.我这.net core 3 ...

  8. 醒醒吧,这世界上根本没有稳定的工作

    原址 一个人成功地失业需要多久? 庞光的答案是:五年. 庞光是我的朋友,五年前,大学毕业后,他回到老家最大的国企工作. 每天朝九晚五,工资和福利固定,偶尔还有些灰色的收入,漂亮的妻子,可爱的孩子,一切 ...

  9. 内地移动支付全球领先?醒醒吧,香港在这5个方面已赶超内地了!

    只需一个手机号码或者Email地址就能实现快速转账?跨银行和跨支付平台秒到账?随便说一句"转账给女友1万元"就能实现转账还不收手续费?这就是香港新推出的转账神器"转数快& ...

最新文章

  1. 闭包 | 浅谈JavaScript闭包问题
  2. Java8 - 自定义实现体会CompletableFuture的原理
  3. java 定时删除_Java编写定时删除文件程序
  4. 使用微信开发者工具添加小程序底部导航栏报错
  5. 编写超级可读代码的15个最佳实践
  6. 尚学堂-马士兵-专题-正则表达式
  7. 为程序员节省时间的习惯
  8. 电影院开工在即,第一部电影就看他
  9. fx2n4ad模块中文手册_三菱PLC特殊功能模块FX2N-4AD实用程序讲解
  10. win10专业版有必要吗_Win10有哪些版本 Win10各版本有什么区别【区别介绍】
  11. IRQL_NOT_LESS_OR_EQUAL蓝屏分析
  12. 蓝桥杯-三角形 已知三点求三角形周长、面积、外心、重心
  13. java 实现魔兽搜索器 魔兽对战平台
  14. 计算机EI期刊2020,2020年Ei Compendex收录的中国期刊目录( JANUARY 1, 2020 )
  15. 扫描二维码启动微信打开特定页面
  16. 存储调研:BeeGFS并行文件系统体系结构
  17. 置液晶显示器的台式计算机,能为液晶显示器提供直流电的台式计算机电源的制作方法...
  18. 软件的生命周期和测试的生命周期的区分
  19. 打开网页报错:net::ERR_CONTENT_LENGTH_MISMATCH,网页打开时显示不全,需要刷新几次才行
  20. quicklz 接口函数

热门文章

  1. 认识windows消息机制和Spy++工具
  2. VC++ 字符串操作学习总结
  3. 简单电商购物程序(续1)
  4. PTA 1067 Sort with Swap(0, i) (25 分)(思维)
  5. from表单中 action的后面 内如果是 servlet的虚拟路径的话
  6. C# Excel 导入
  7. HttpContext.Current.Cache 过期时间
  8. Oracle 10.2.0.4 高负载 触发 ORA-00494 错误
  9. Java遗传算法并行多机调度程序
  10. 构造一个完美的分类系统