一个人挑战一支团队,他是怎么做到的?

网页设计领域经常会遇到一些坑爹项目,明明几百个页面需要几个人做2个月完成的项目,而经费就只够一个人的,市面上这种项目还不少,而且都在快乐的生长。。。

网页设计如何做到这样低的成本?这还要从最基本的原理讲起。

网页开发不同于传统的程序开发,主要归结一个字就是“乱”。如果仅开发一个页面还好,多个页面的话,难受一点。如果是个巨型工程,比如1000+个页面,好吧,代码的混乱程度可想而知。

为什么会产生这种情况?难道网页设计不是程序设计吗?

一切的一切,需要从计算机原理讲起

电脑是什么?可以理解为CPU+存储,你可以通过输入设备,如:键盘,u盘,网络等等,把需要处理的数据放在存储设备中,然后CPU按照存储设备上的指令一条一条的向下执行。其实就这么简单,写好一段程序,放在存储中,然后CPU就会严格的按照你的指令去执行。而这些指令集,是程序员预先编制好的,我们把它叫做“软件”。

好啦,说到这里会不会觉得电脑很简单,软件也就那么回事?其实真的就是这么回事也。

那么问题就来了,现在电脑的运算速度是很快很快滴,有多快呢?比如我们用的笔记本电脑,假设你的CPU是i7的(别告诉我你不知道什么是i7),那么每秒钟,记住是每秒钟哦,你的本本会处理100亿条指令。100亿条啊,这是什么概念呢?一个程序员一天如果写1000行代码(这个是业界平均水平啦),那么他需要两万七千多年才可以为您展示1秒钟的内容。

看来貌似简单的问题复杂化了,这就好比是愚公移山,没错,挖土很简单,运土也很简单,但要挖掉一整座山,况且无良的老板需要你1周内完成工作,那么你需要想别的办法了,至少靠铁锹是不行滴。

怎么才能实现100亿条指令的产量呢?

其实从上世纪70年代开始,或者说更早从第一台电子计算机开始(1946年),人类就不断的在如何提高代码产量的道路上探索前进。

最开始的办法叫做“编译”,什么是编译呢?简单来讲就是把一组计算机指令用1条计算机指令来代替。这样程序员写100行的代码,也许实际上会编译出1000行甚至10000行代码。

哇塞,那比起写机器代码简直就是飞跃啊,写代码的速度比原来提高了10-100倍啊。

到这步恭喜你,原来需要27000年的任务,一下子缩短到了270年,但这还不够,我们继续......

随着电脑运算速度的提高,电脑对软件的需求量急剧增长,软件的“尺寸”也越来越大,我记得1990年的时候,一个300k尺寸的软件就可以算是巨大的软件工程,而仅仅靠“编译”那已经接近于软件开发的极限了。为什么呢?软件不可以叠加吗?答案是不可以。

随着软件体积的逐渐增大,里面的函数就会越来越多,所使用的公共变量也会越来越多。这就好比是草原上的野草,每根都长在同一个平面上(地面),如果让你立即按照特征找出其中一根来,几乎是不可能的。

那怎样才能突破这个极限呢?前辈们想到了一个绝佳的办法,那就是对代码采用树状的管理体系,简单来讲就是把所有的代码分门别类,放在树状目录下面。这样程序员就可以根据分类快速的定位代码的位置,同时由于代码区间的划分,外部或者是全局变量也得到了很好的解决。这就类似于把草原上的草分门别类的装到了一堆箱子里,然后把这些箱子再按照分类以树状的形式摆放。

这种设计思路就是鼎鼎大名的“面向对象”程序设计。

这个设计思路源自于上世纪70-80年代,在上世纪90年代得到了广泛应用。

一直沿用至今沿用至今沿用至今!!!

我们生活在21世纪耶,iphone都快到10了,难道我们的软件设计采用的还是上世纪老掉牙的技术?!

也许是面向对象过于超前或者是现在的技术无法突破,总之总之,事实就是这样,面向对象仍旧是软件设计领域的唯一(不是第一也不是第二也不是之一)选择。

说了这么多,这和Web开发有啥关系呢?既然已经完美了,还有什么好说的?

好吧,我继续讲故事。。。

话说程序界已经进入了完美阶段,至少目前是无法找到更完美的设计思想,这时飞来了一只巨大的苍蝇,这只苍蝇打破了原有的完美格局,这就是web应用开发。说的土一点就是做网页呗。

自从上世纪90年代互联网的兴盛开始,当时没有任何一个人能预计到小小的网页能发展到今天如此规模的应用(至少微软没想到),于是乎程序前辈们在网页设计架构上犯了一个致命的错误,那就是部分(不是全部)抛弃了经典已久的“面向对象”程序设计思想,而这个致命的错误随着互联网的高速发展被不断的扩大至今,几乎已经达到了不可弥补的程度。

当然了,这也不能全怪先辈们,因为Web应用和传统的软件是不太一样的,传统的软件在一台电脑上运行,而Web应用是在2台电脑(客户端和服务端)之间跳来跳去的执行。而近几年的所谓CSS架构更是让Web应用走向了远离“面向对象”程序设计思想。

另外一个原因是在上世纪,Web应用规模都还很小,没有人能预计到20年后的大规模应用,所以Web应用在创立它的最初就走上了一条奇怪的路线。

那么目前的Web应用开发形式都存在哪些实际意义的问题呢?

首先就是开发语言无法统一:比如前端采用的都是html+js+css的形式,而后端采用的却是C#,java,php等。

其次就是代码从宏观角度讲都在一个层面上,在大型项目应用中,代码之间的相互干扰是以指数级增长的。

最后,竟然没有一个可视化的设计平台(全世界都木有啊,都木有,都木有),目前vs,eclipse, dreamweaver等都号称可以进行可视化开发,但用过的人都知道,只要可视化不能做到1:1,那么提供的可视化开发环境就是一个笑话。

我记得还是上世纪的90年代,设计windows窗体程序就可以做到1:1可视化,全面向对象程序设计,统一的语言和代码风格......

为什么我们进入了人类大发展的21世纪,这些反而都没有了呢?这不科学啊

其实超大规模的Web应用在我们的这个时空还是存在的,比如金蝶用友的系统,都不会少于10000个web页面(再次强调,1万个啊),他们怎么做到的?

凭借传统的VS和eclipse,我就告诉你,别想了,就像愚公拿个铁锹挖山一样,除非你感动老(tou)天(zi)爷(shang),给你追加100倍的投资。

答案是:金蝶和用友都具有自己内部的中间件平台,o,yeah,好厉害。

问题又来了,人家的中间件是公司内部用,不对外开放滴。当然了你也可以跑到人家内部偷偷的考出来一份自己用,但是我要告诉你,这些中间件的通用性是有问题的,也就是说拿这些中间件做个管理系统是没问题的,做点别的......你想多了。

当然了,任何困难都挡不住人类前进的脚步,于是ePage横空出世了!ePage横空出世了!ePage横空出世了!

下面说说本人使用ePage做项目的感受吧。

受够了20年的Web设计残缺,ePage的出现将带出一个开发Web应用的完美解决方案

首先,ePage解决了前后端开发不对等的问题,在前端和后端都同时采用了js设计语言,从源头上统一了代码,为后续的代码封装铺平了道路。

其次,ePage沿用面向对象的程序设计思想,对所有代码及页面进行了树状封装,避免了代码和页面之间的项目串扰,也避免了页面内部各元件之间的代码串扰,甚至对客户端与服务端之间的交互过程进行了封装。

最后就是1:1可视化设计,你在设计界面看到的就是浏览器看到的,完全一样。这个是目前VS和eclipse等主流工具永远无法做到的。

有了以上三点,页面的制作速度可想而知。带来更大的好处是维护的工作量也降低到原来的1/10至1/100。

一个“编译”让程序员的开发效率提高了10-100倍,而一个面向对象再次将效率提高了10-100倍,同时可以开发超大规模应用。由于目前的web应用开发还停留在1/2面向对象阶段,所以ePage利用了这个机会,把刻度向前推进了1/2的距离。别小看这1/2,它带来的产量是惊人的,也许会推动下一次的Web设计开发领域的大变革,让我们拭目以待。

在使用ePage做项目的过程中还有很多感受和心得,后续的文章我会慢慢讲解,希望大家多多支持我哦。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,465评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • 1 对于我这个永远追不上热点的人来说,最近终于抽出时间来补习《欢乐颂》了。一直喜欢剧中的关雎尔,也许因为同样是实习...
    愈姑娘阅读 5,379评论 60 182
  • 早上,没出被窝的时候,写了一半的日记,清理APP后台应用,一个不小心又给删除了,我这个小心脏呀,瞬间就冰冻了……唔...
    纯流氓艺术家阅读 235评论 0 0
  • 转载:http://ju.outofmemory.cn/entry/182050 今天凌晨的WWDC15虽然没有熬...
    ldjhust阅读 16,758评论 3 10