把网站做成软件

刚接触电脑那会,对软件的了解不如现在来的深切 ,那时候软件两个字在我脑海中的概念就是通过搜索引擎搜索结果或直接在浏览器地址栏中输入网址进入获取我需要的软件的网站,然后寻找下载这个软件的按扭,点击下载软件。在某些提供软件下载的网站中,这个下载按扭往往不是显而易见的容易找到, 经常被其它下载莫名其妙资源的按扭干扰,需要费很大一番力气才能把需要的软件下载下来。下载下来的软件是一个几M到几G不等的安装包文件, 点击打开它,然后按照界面上的安装向导指示安装完成后就能使用了。软件有各种各样的功能, 能听音乐、制作图表、编辑文档、打游戏等等数不清的姿势, 我想要用电脑做什么事情,软件都能帮我完成,这很神奇,很不可思议,令我印象很深刻,因此在我的脑海中根深蒂固的留了下来, 渐渐转换成我对软件概念和形容的定义。

随着对计算机接触的深入和对互联网各方面知识的加强, 我了解到, 网站也是软件的一个种类。 我很不认同,在我的印象中,网站只是用来下载的软件的一个入口而已,怎么也越俎代庖的成了为软件的一分子了呢?但是很多开发软件的工程师是这么说的, 书上也是这么讲, 那我也只好承认事实上就是这么回事了, 但我的心里还是固执的保留着最初的那份自己对软件下的定义,虽然我知道这是一种错误的观念。

后来,软件发展的趋势方向发生了转变, 随着互联网狂潮的到来, 传统的windows系统上的客户端软件似乎日渐式微,通过浏览器打开的网站满足大众越来越多的需求,网站开发的职位需求量巨大,连我也忍不住这个诱惑加入了这个行列。 然而, 每当我新建一张张的网站页面, 写着一段段的网站脚本,执行一句句的SQL命令,我就没有办法说服自己是在开发软件,因为我做的东西和我对软件的定义有着明显的区别, 所以我不是在开发软件, 我只是在制作网站, 虽然都是程序设计, 但是两者之间的逼格差距太大了。

我思考过,为什么我对软件和网站会有截然不同的看法, 从技术的角度讲, 开发这两种东西都是在进行程序设计, 开发的难度也是由需求的不同决定的,跟开发它们的本身没有必然的联系。 我曾经以为是语言的差别引起的, 但一般的语言是即可以开发软件也可以开发网站的, 答案显然不是这个。 如果从它们实现功能差别的角度考虑,似乎也站不住脚, 现在很多软件实现的功能也可以由网站实现,人家谷哥都把操作系统搬浏览器里了, 那其它还有什么不能实现的。 从我的角度考虑,区分网站和软件的差别就是,软件开发完成以后是可以直接安装在电脑上使用的,软件的本身就能实现所有的功能。 而网站开发完成后, 是不能直接使用的, 因为还需要安装运行网站的环境, 如web服务器、程序的运行时、数据库等软件,网站的正常运行必须依赖与这些第三方软件。 两相对比, 网站不但部署运行不方便, 逼格也低了不少, 看看人家软件, 自己就能完成所有的事情, 而网站, 依赖这依赖那的,就跟个讨饭似的。 而且还要看人家脸色, 人家出点问题, 你跟着也就挂了,可以想象一样, 有多少网站问题是由程序本身以外的软件问题引起的。我想,这些便是导致我对软件和网站之间不同看法的根本原因吧。

所以,我开发网站的原则就是, 尽量少让网站依赖别的组件, 只有在不借助它们的功能无法完成任务的情况下再去使用它们, 这么做的好处就是出问题的机率减少了,逼格也高的越来越像一个软件。

ps:纯个人主观看法, 不喜勿喷

原文发布于微信公众号 - 带你撸出一手好代码(gh_afab56b37671)

原文发表时间:2017-04-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏鸿的学习笔记

大数据所要面临的麻烦

在计算机的发展当中,出现了两种选择,一个是超级计算机,另一个则是云架构。超级计算机看起来很美好,因为对于程序员而言,只要和平常一样当成单机系统处理就好,但是...

962
来自专栏云计算D1net

如何集成云层与本地存储

云和本地存储正走向越来越紧密的整合,于是云成为了另一个存储管理员可用的层级。 ? 组织不大可能把100%的数据都移到云服务上,但大多数企业都会至少想让一部分数据...

3126
来自专栏WeTest质量开放平台团队的专栏

如何让压力测试产生平稳的机器人曲线——压测后台的一次优化历程

作者介绍:Robben,腾讯高级开发工程师。工作多年,长期从事后台的开发、架构设计、优化等方面的相关工作。

882
来自专栏杨建荣的学习笔记

自动化平台开发小结(六)

最近几天还在不断的改进平台里的事情,而翻了下之前写过的文章,发现从起步到现在也有一个多月了。如果不是看看自己总结的文章,好像啥也没干。 在此期间,我设立了两个里...

3435
来自专栏北京马哥教育

25年Linux内核开发经历总结出来的九条经验

原文: 9 lessons from 25 years of Linux kernel development 作者:Greg Kroah-Hartman 翻译...

37611
来自专栏PPV课数据科学社区

干货 : 聚焦于用户行为分析的数据产品。

因为工作需要,我的收藏夹里收集了很多数据相关的产品,其实加入收藏,也一直没有时间好好去研究。这几天恰好有时间翻出来逐个体验了番,顺手贴出来,大家一起研究。 受篇...

4538
来自专栏ThoughtWorks

如约而至|2018年5月期技术雷达正式发布!

ThoughtWorks每年都会出品两期技术雷达,这是一份关于技术趋势的报告,由 ThoughtWorks 技术战略委员会(TAB)经由多番正式讨论给出,它以独...

1021
来自专栏魏琼东

DotNET企业架构应用实践-系统架构与性能-理论依据及相关技术

性能优化介绍       在企业应用开发领域,企业架构与性能将会是一个恒久的话题,如何提高性能、性能优化也将是一个长期和不断改进的过程,有人在硬件投入上下功夫、...

1986
来自专栏安恒信息

邮箱安全第7期 | 邮箱大数据分析平台与异常预警模型

上一期我们谈到通过WEB应用防火墙技术来防护邮箱系统自身的安全问题,由此解决了应用层防护不当导致的邮箱系统被黑客技术入侵的问题,本期我们介绍针对邮箱系统整体大数...

41010
来自专栏Java后端技术栈

“杀”一个程序员不需要用枪,改三次需求就可以了!

在很多软件公司,特别是一些创业型的团队中,对于这样的情景可能大家都很熟悉:项目经理或者产品经理(产品狗)口头或者简单记录一下软件产品的大致要做的功能,直接就让研...

1081

扫码关注云+社区