聊聊互联网WEB开发
做过多年的互联网web开发,也做过大大小小各种类型的网站 包括购物网站,功能性网站,企业宣传网站等,对于web开发这块的架构大体上也就几种开发方式吧 我接触过的我就说记录下,没接触过的,估计也是比较另类的吧,或者是我自己见识短。
第一种方式 - (php、python、java,nodejs)+html+js(jquery)+css
第二种方式 - (php、python、java,nodejs)+vuejs/reactjs+webpack
先说说第一种方式,也算是比较再普通不过的方式了,继续介绍之前先说说后端语言
使用频率更多的后端语言的话应该是PHP,但是对于大公司来说可能还有java,这个我也没做过具体的统计,都是根据经验来的 虽然我自己在使用的过程中,也用过python、nodejs、java但是我用的比较多的还是php
php的话使用过的框架有qeephp,yii2,CI,laravel python的话使用过Django、flask java的话使用过spring-boot nodejs的话使用过koajs、express
php的话公司项目用的比较多,但是我比较喜欢yii2,喜欢它的代码和框架目录风格,导致我后面在学习swoole的时候,试着将swoole集成到yii2中,目前线上的几个博客项目一个是gowhich.com(swoole集成)、一个是xiaorongmao.com,都是我日常记录技术文章的博客站点
python的话我,开始的时候由于跟风喜欢用Django,但是经过一段时间,发现这个有点太庞大了,折腾不起了,于是发现了flask这个优秀的框架,慢慢的边学边做,就开发了另一个博客walkerfree.com。 最近在使用flask1.0系列,改动比较大,不多还是很喜欢,于是使用flask1.0开发了baby.xiaorongmao.com,很多功能出于学习python,都是自己研究查阅各种文章开发的,比如比较明显的验证码功能
java使用过spring-boot,可以说,是个比较方便好用的框架,上手很快,但是需要学的东西很多,后期搁置了。
nodejs使用过connect、express、koajs,后期使用koajs比较多,主要是自己的项目,本来打算做个博客的,但是工作的原因后面就搁置了。公司使用过express、connect,connect主要用来做代理
当然在这个过程中还接触过ruby,也就瞄了一眼,ruby on rails,那个大宝石不错
后端的语言其实都是大同小异,差异不是很大毕竟是做web开发,还能折腾到哪里去,该有的功能都有了,可以说随便选一个自己喜欢的就可以了,当然论速度的话我比较中立的选择php的yii2和python的flask,可能是因为比较熟悉吧,也许有人会说我用spring-boot一样开发很快,这个就不细说,我也只是聊聊我自己的,其中成本之类的,可能就不好说了。php好像比java学习成本低吧,python好像也是
哦,对了,最近在学一门超级快的语言Golang,公司是使用过了,以前php写的接口,耗时10000ms,该用Golang可以达到100ms甚至是10ms左右,这个对比差距还是很大的,不过公司在使用Golang之前我已经在2018年使用Golang开发wiki博客站了,后期由于公司业务多就慢慢的搁置了。当时的Golang资料少,可以直接使用扩展还少,另外,即使是有,使用起来也是各种别扭,因为跟python和php的使用方式不同。所以自己就慢慢的一边进行查询的封装,一边进行session的封装,就是一路上缺啥自己造啥。不过现在回头看下,已经有很多成型的库可以使用了,最近发现了gin这个框架,可以说是达到了我当时的想法,重写了Golang自身对路由的支持
好了,说说第一种开发方式,这个前面说过了,其实很普通的一种开发方式 可以不讲究css放在哪里,我放在页面中,或者放在文件中,或者内连于元素上,都一样的能达效果,开发速度也是很快,不够这个就不要将就什么速度了,将就速度的话,那就要说另外一个问题了,有点多。正常习惯使用原生js的话,可以直接一个html页面加上css+js就可以构建一个页面了,然后各种特效效果,直接网上搜索一下,download下来改一改,弄下样式,就搞定了,可以说对页面的复杂度不是很高的话,这样就可以完整快速的出一个页面了,但是后期维护的话,是个很麻烦的事,但是从做页面开始的时候,谁会想这个问题,因为公司要的就是马上上线。这个也就是现在的速成开发法吧。
下面说下第二种方式,第二种方式使用了框架,可不简单的是jquery,据说这个框架原理是虚拟dom,大概是2014年前后,刚来公司就开始搞单页面开发,当时是因为觉得如果每个页面都是在用户请求后重新去服务器请求,然后再加载的话会比较慢,于是就考虑使用单页面应用,但是也有很多的框架,使用起来是把我搞的云里雾里,最后技术leader说使用reactjs,这个也算是当时比较火的技术,于是我就开始一边学一边做,开始时是用来开发后台,我主要负责页面开发,接口有技术总监提供,当时就觉得这个reactjs很好的原因是,他这个框架是用来做组件化用的,比如一个页面,我们分为上中下三个部分的话,传统的写法就是都写在一个页面,使用reactjs的话,就是上部分封装为一个组件,中间部分封装为一个组件,下部分封装为一个组件,就这样,最后将三个部分封装起来,是不是觉得有点像是在组装小汽车,没错,就是这个作用。既然使用reactjs,当时想着能不能像使用jquery一样使用reactjs,直接在页面引用,然后写组件,但是实际情况是,这个方式不好,因为reactjs的语法默认是不被浏览器支持的,需要通过工具进行编译,编译为能够被浏览器识别的js代码,于是就又开始搞webpack,这个工具不得不说起实用的地方,基本上是解决了前端性能优化的问题,比如css的压缩、js的压缩、按需加载进行打包,将第一种方式中加载时的缺点都解决掉了,而且webpack还有一个我用的比较多的地方就是将静态文件全部发布到cdn平台,这样的话基本上就不需要一个服务器专门来存储静态文件了,而且利用cdn已经成熟的快速加载技术,完全可以不用自己搞服务器,花点钱就解决了。这个方式同时也适用于vuejs,但是我在接触vuejs后不喜欢它的原因是就是它的写法搞乱了html元素,让代码看起来很乱,虽说也能解决问题,但是我不喜欢。就像当初不喜欢angularjs时是一样的。 不过最近发现vuejs可以像使用jquery一样的使用vuejs,可以去试试,毕竟使用jquery来操作dom还是稍微比较费力的事情
大体上吧就这些技术的细节就没办法聊了,太细的话,会触及我的弱点,因为我不擅长理论这些东西哈哈
我能用flask做开发,写博客,那么我面试的时候人家问我一些asyncio之类的东西,我就蒙圈了,毕竟我不会没事去记一些不太使用的知识点,但是现状就是如此
不然人家怎么知道这个博客是不是你搭建的,没准是你自己从哪里copy过来的,说实话,互联网开发也不过如此,有些功能就是从网上copy下来的,我们应该充分利用互联网,因为可以节省很多劳动力和脑力,那么程序开发者就是这个技术的结合者,最后再加上创新,才能达到更高的顶点,才能让人类更快乐幸福
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/994
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 Gowhich博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/994