本周工作思考
IE的问题回顾及思考
作为一名工作近15年的软件工程师来说,对IE的感情非常深厚,2007年还在上大学就是使用ASP.Net开发基于IE6的网页,我当时开发的功能是大学里的网上选课系统的一部分,主要的查询登录学生的某学期的课程信息,教室信息,上课信息,教师信息,考试信息等等,有一个核心页面是选课页面,是当时带着我的开发的指导老师开发,是一个巨型表格,有不同的颜色,性能巨慢,当时看非常复杂,虽然当时的页面的交互和样式非常简陋,放在那个年代确实非常好用。当时的请求是纯页面级的,ASP.Net里有个ViewState的技术,可以让页面刷新后,保存已经填写的数据,所以看起来和现在的AJAX请求差不多,当时AJAX在IE6上还是非常高端和小众的技术,我当时仅限于知道(当时图书馆有各种介绍AJAX的书籍,我觉得用不着就没咋看,现在想来,认知的局限性害人不浅呢),有点类似现在WebAssembly,看起来很有用,但是实际场景好像又不太怎么用,当时的开发是CSS1.0+的样式,我当时会用不多,多数是字体和颜色,HTML也不敢多用,表格就是table,列表就是ul,html完全语义化,其他不敢用,不知道会出啥莫名其妙的的布局问题, 也没啥div和span啥事。如果你能写个页面,用图片拼个页面出来,稍微漂亮大气点就是大神级别的了。我当时开发IE6遇到的最大问题是性能慢,开发巨慢,没有调试工具,遇到问题只能一行代码一行代码连猜带蒙的排查,只要页面不白屏,数据能出来,按钮能点击就可以交付上线了。还好Visual Studio支持的开发视图有非常完美的低代码工具,只要理解了需求, 拖拖拽拽,从组件库里脱出这几个组件就能搞定一个查询页面, 数据源组件+ DataView + 分页组件 + Button组件 + OnClick,配置上数据库连接字符串,然后编译生成一个dll文件, 放在Windows 2000的IIS服务器上,重启服务,就上线了。IE的很多问题有时候真的很多不好搞定,所以当时很多人就转到客户端方向了,比如WinForm, Flash, Delphi,VB,JAVA Servlet 等等;
09年到13年,Firefox和IE8,IE9出现了而且带有开发者工具,B/S架构火的一塌糊涂,特别是Firefox的那个小飘虫,简直好的的不得了,我都是用Firefox开发和调试完,再放在IE8上跑,IE8的渲染和运行效率比IE6好太多了,能够支持越来越漂亮,越来越复杂的页面,加上微软的商业策略,我当时开发的项目基本上都要以IE8为基准开发页面;
后来Chrome横空出世,逐渐抢占IE和Firefox的市场,加上Chrome真的对开发者非常非常友好,开发效率和开发体验都是指数级的提升,以至于很多单位切换Chrome浏览器是由工程师极力推动的;
简单的回顾,有几个思考一直启发着我,1技术是持续的默默的升级的,一定要有技术和商业需求的敏锐感,要及时抓住技术的窗口期;2不要抗拒技术的发展,没有一招鲜吃遍天的事情发生;3应用技术被淘汰的惨烈程度不亚于朝代的更迭,作为工程师,顺势发展尤为重要;IE后续的版本拒绝技术理念的升级,以至于存在了二十多年的产品要被下线,它可是有着辉煌的技术、产品和商业表现,可是现在被迅速的全面淘汰。