用做网页开发经历了三个阶段(附长篇讨论) good
用做网页开发经历了三个阶段:
第一阶:傻干阶段
使用Intraweb,傻瓜型,无需知道javascript,html,css,会pascal就可以了。
第二阶:困惑阶段
使用Intraweb,有很多限制,比如资料少,界面不容易做漂亮,没有源代码等等。于是转向研究其他开发工具。首先吸引眼球的是Nodejs,前后台用一种语言Javascript,爽,运行速度也不赖。
随着PHP7的发布,注意力也被PHP7的高性能所吸引,玩了一阵PHP7。当然还有以前摸过的Tomcat/asp.net,各种框架一大堆。还有,也许是未来方向的Rust语言(无视GO),这方面有Iron/nickel。
玩着玩着,还是发现问题了。PHP/Nodejs,解释执行,无法编译,一点隐私都没有。虽然PHP足够稳定,速度也不错,还是放弃吧。尼玛的微软,PHP7发布了,你赶紧提供PHP7的驱动啊,我要用PHP7来连接SQL Server。微软:“哈哈,你等着吧,迟早会有的。”别说Laravel好,源代码一大堆,资料一大箩,读死你。Nodejs,后面的依赖一大堆,出点问题。你找去吧,你结交的朋友太多,谁知道哪个朋友出卖了你。
Tomcat是一个不错的选择,企业级,开源,各种框架你随便挑,稳定性没有问题,喜欢高价语言的还有Scala可玩;自动生成代码的也有,比如jeecg,连微信的开发都有了。尼玛的jeecg,害死人,自动生成的代码你改得了吗,客户今天有这个需求,明天有那个需求,除非jeecg是你写的,你想改就改。最让人受不了的是tomcat的速度,同样功能的程序,PHP都跑到半山腰了,那只公猫还在山脚下晃晃悠悠。
大姑娘,小媳妇,外面的野花你随便采。采过之后你发现,还是家花好。
第三阶:回归阶段
于是有了:WYSIWYG WebBuilder + Delphi 开发Web应用的最佳搭档(http://bbs.2ccc.com/topic.asp?topicid=512086)
我一直纳闷:Delphi这么好的语言,性能直逼C++,完全的Native Code,在Web开发这块领地,咋就没有数得着的成功案例?
其实大家将最好的东西忽略了,这就是WebBroker,因为大家把聚光灯都照在了IntraWeb上。结果IntraWeb是个不争气的孩子,做前端没有框架,一点艺术细胞都没有;做后端没有性能,Indy的框架显然满足不了当下高并发高速度的网络需求。要是不研究mORMot,还不知道用Delphi也可以写http.sys应用。不研究http.sys,就不知道IIS如此牛逼,不知道IIS的好,就不会去研究ISAPI。一研究ISAPI,你才发现,原来Delphi7的时代,WebBroker就已经IOCP了。
后台WebBroker,性能与稳定性建立在ISAPI基础上,站在巨人的肩膀上,你还怕没有好戏看吗?就差前台工具了。
前台我选WYSIWYG WebBuilder,这个东西你越用越喜欢,可以与WebBroker“狼狈为Jian”,帮WebBroker补全开发页面缺少所见即所得需要的工具。
WebBroker与WebBuilder的粘合剂就是javascript+AJAX/AJAJ,将javascript发扬光大的是jQuery,当然还有Angular/React。
前端完全采用html文件,负责页面展示,是"View",后端只负责json数据提供(当然json数据中没有规定你不能写html元素),负责读写数据库,是"Model"。"Control"在哪里?前后都有,前端是javascript写的引导程序,页面一启动,首先向后端发起ajax请求,接到后端的返回数据后负责对页面加工。肖老尸告诉你,这就是Intraweb的玩法,后端不光返回数据,也可以返回运行指令,一段javascript代码片段,让浏览器来执行。有兴趣的朋友,可以仔细研究我在“最佳搭档”开篇中那段javascript代码,那里有文章。
别告诉我IW也可以写ISAPI,尼玛IW,代码锁在自己的抽屉里,就等着发霉吧。request居然不能操作RawContent,只能解析x-www-form-urlencoded与multipart/form-data格式编码数据,如果前端直接往后端发送application/json或者text/xml编码数据,IW歇菜了。你只会炖猪肉,给你牛排你不知道如何加工,那你倒是把收到的牛排拿出来呀,尼玛的,你解析不了,又把原材料锁起来,我如何招待特需客户。
IW重写ISAPI,提升性能?性能在哪里,性能在Bill Gates那里,IIS才是性能之源。用IW 58版写一个Win10下64位的ISAPI,浏览器收到404错误,不知道问题出在哪里。人家Berlin版的WebBroker一点毛病都没患(不是没有哦)。你只用Delphi来写restFul Sevice,你是选择没有源代码,附加功能一大堆的IW,还是选择提供全部源代码,轻量级的WebBroker呢?WebBroker没有Session,Session那点事,根本就不是事,自己来。自己生的娃,出了问题自己才好教。
http://bbs.2ccc.com/topic.asp?topicid=478609
用做网页开发经历了三个阶段(附长篇讨论) good的更多相关文章
- .net程序员转行做手游开发经历(一)
从辞职到自己开发游戏也有几个月的时间了,游戏也已经在AppStore上线了,我觉得我有必要写点东西,算是留下的一些记忆,也可以和广大博友分享下自己的创业经历,这可能不是一篇成功的创业经历,因为故事还在 ...
- 【转】网页游戏能用PHP做后端开发吗? PHP Libevent扩展安装及应用
网页游戏能用PHP做后端开发吗? 当然可以.最好走HTTP,也可以做网络编程,而且写代码超简单,1个函数就可以建一个服务器端.stream_socket_server()多线程不是什么好主意,你可以用 ...
- [HTML]网页开发学习笔记
为了要开发一套教学使用的教师管理系统,(客户需求使用网页做教师控制端口)我便学习了一下HTML网页开发. 很不错的学习开发的网站:http://www.w3school.com.cn/index.ht ...
- 免费的HTML5连载来了《HTML5网页开发实例详解》连载(五)图解通过Fiddler加速开发
Fiddler是Windows底下最强大的请求代理调试工具,监控任何浏览器的HTTP/HTTPS流量,窜改客户端请求和服务器响应,解密HTTPS Web会话,图4.44为Fiddler原理示意图. 图 ...
- 《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口
HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和Fi ...
- 免费的HTML5连载来了《HTML5网页开发实例详解》连载(三)DOCTYPE和字符集
在2.1.2节中通过新老DOCTYPE的对比,读者可以清晰地看到HTML 5在精简旧有结构上做出的努力.DOCTYPE在出现之初主要用于XML中,用作描述XML允许使用的元素.属性和排列方式.起初HT ...
- 当里个当,免费的HTML5连载来了《HTML5网页开发实例详解》连载(一)
读懂<HTML5网页开发实例详解>这本书 你还在用Flash嘛?帮主早不用了 乔布斯生前在公开信“Flash之我见”中预言:像HTML 5这样在移动时代中创立的新标准,将会在移动设备上获得 ...
- 8款替代Dreamweaver的开源网页开发工具
Adobe Dreamweaver虽然非常好用,但它并不是唯一一个能够设计.开发.发布精彩网站的Web开发集成环境.我们的开源世界里有很多非常棒的可以完全替代Dreamweaver的各种功能的优秀We ...
- 有人说,即使没有JavaScript,你也可以做网页。在纯HTML
有人说,即使没有JavaScript,你也可以做网页.在纯HTML +服务器端语言理论中也可以完成所有功能,那么,为什么以及在哪里存在JavaScript? JS,全称JavaScript 在 ...
随机推荐
- ecshop各个文件夹作用
Images文件夹: 这个文件夹下有子文件夹,在这些子文件夹下面存放着当前网站商品的原始图片和缩略图.这些子文件夹命名有规律的,它们的文件名是它们目录下商品加入 的年月份.也就是说在同一个月份加入的商 ...
- MYSQL select ....outfile.....from.....
select .... outfile 'file_path' fields terminate by '\t' lines terminate by '\r\n' from table_name; ...
- UIButton控件
UIButton继承关系如下: UIButton-->UIControl-->UIView-->UIResponder-->NSObject 由于继承层次过多,下面只重点介绍U ...
- WSImport
http://www.cnblogs.com/simle/archive/2011/11/03/2233417.html
- Ubuntu12.04 Jdk1.7 Tomct7.0部署配置
jdk1.7 下载 http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz?AuthParam=1 ...
- 商人过河问题(二)java实现
本文实现的java版商人过河是参考http://wenku.baidu.com/link?url=dpe2AC8mCjpGnclFv6iZy88_vqYm3bED4QDpSkAI4ssgs7Bhntu ...
- Eclipse 支持jQuery 自动提示
1.下载jQuery文件 http://download.csdn.net/detail/emoven/6294377 2.设置spket Window -> Preferences -> ...
- Unity 之 Redux 模式(第二篇)—— Rigidbody 改造,摄像机控制
作者:软件猫 日期:2016年12月8日 转载请注明出处:http://www.cnblogs.com/softcat/p/6144041.html 上一篇文章中存在一个很严重的问题,首先我们先让 M ...
- poj 3253 Fence Repair(模拟huffman树 + 优先队列)
题意:如果要切断一个长度为a的木条需要花费代价a, 问要切出要求的n个木条所需的最小代价. 思路:模拟huffman树,每次选取最小的两个数加入结果,再将这两个数的和加入队列. 注意priority_ ...
- skynet-源码分析1:目录下的文件整理
skynet是c和lua结合的一个开源游戏引擎,是云风所写,对我等屌丝来说,是很好的参考 先整理一下文件结构,然后再慢慢深入 主目录下有10个目录,105个文件, 具体包含的情况,我简单画了个图,明天 ...