我打算写一系列互联网软件工程师入门指南,这个指南的核心在于解开互联网技术领域的很多令人眼花缭乱的专业名词,以一个外行人的角度去理解互联网软件是什么,要怎么展开学习。在这个过程中,我会循序渐进的讲解互联网软件的主要技术(我所知道的),让一个外行人开始学习的时候不那么恐惧。
我自己的学习经验告诉我,学一个知识,开头是最难的,之所以难是因为还不习惯这个知识的语言体系,一开始就看见一大堆看不懂的词,从而产生挫败感,进而在心理上自然的产生厌恶感。我希望我的这个入门指南,可以减少这种挫败感,我会用不那么标准但容易理解的定义去解释行业术语。这篇指南,不会有什么代码,更多的像是科普。同时,我也会注明可以怎么进一步深入的学习。
我希望我的这个系列可以帮助对互联网技术感兴趣的人提供一个更友好而全面的入门介绍。我会尽量每周写一篇。
这次的主题是什么是互联网软件。
我们经常听见互联网软件工程师,而我们接触互联网的一般形式都是用浏览器浏览某个网页。那么一个问题就产生了,什么是互联网软件呢?那些网页就算是吗?甚至会感觉这些网页比传统的桌面软件比如photoshop简单很多呢。
答案是肯定的,现在我们所使用的互联网的网页就是一个软件。我们先来形象的理解下这个问题,传统桌面软件有word,互联网上我们可以使用google doc,可以实现几乎一模一样的绝大多数功能,同样的道理也可以用于一些美图秀秀和photoshop。所以在功能上,其实互联网软件和传统桌面软件很多地方都是类似的。
那么不同点在哪里呢?为了理解互联网软件,我将用传统桌面软件word作为对比来解释。这里假设你知道word是一个可以安装在电脑里的软件,安装这个软件需要电脑里有一个操作系统,比如windows或者macOS,同时word所有的文件都是存储在你自己的电脑里的。互联网软件,我们选择google doc,这个软件基本是网络版的word。
使用互联网的时候,我们首先需要在电脑里装一个浏览器(先忽略手机这个媒介)。假设我们使用google的chrome。如果你还在使用微软的IE浏览器,你应该装一个chrome或者火狐浏览器。当你使用word的时候,我们可以将其分为如下几个部分:
1. Word界面。也就是你写文档时候所看见的那一部分,你可以写下要写的东西,点击一些按钮加入图片,把字体变粗,等等。所有这些操作你都需要在这个街面上进行。
2. 保存的文档。你所写的文档,你会保存起来,并且保存在你的电脑上。当你停止写作以后,这个文档不会丢失,并且可以在下一次打开接着写。
3. 信息交流。你写东西的时候,你所看见的是写在屏幕显示器上的,而你保存的时候会把文件保存在电脑硬盘上。你应该会认同你的电脑硬盘和你的屏幕是两个不同的东西。那么就需要一个信息交流的方式,让你写下的信息可以从屏幕转到电脑硬盘上。直观的,这个信息交流的方式在你自己的电脑里。
当你使用google doc的时候,也有类似的分解方式
经过这个对比,我们可以发现,互联网网页其实和传统软件是很相似的,只不过将服务三个不同功能的电脑分开了。总结一下,浏览器,是一个类似于操作系统的东西,它可以帮助提供一个网站的界面;网站的电脑,保存你的数据或者资料,这个电脑,专业术语就是服务器;互联网,将你的信息从你的电脑传递给网站的电脑。 因此,互联网软件不仅仅是在你的个人电脑上运行的,而是在你的和网站的电脑上同时运行,从而实现软件功能的。
以上,就是对互联网软件的一个解释,解释为什么网页可以叫互联网软件。事实上,互联网网页刚出来的时候,技术不完善,虽然已经有浏览器,互联网,服务器,但是所能提供的用户操作是非常有限的,那时候还无法取代传统桌面软件,但是随着技术的发展,互联网网页技术终于可以提供丰富的用户操作,并且在很大程度上可以取代传统桌面软件。这个技术的革新所带来的社会变革,就是所谓的互联网2.0:Web 2.0,指的是一個利用万维网(Web)的平台,一个由用户主导而生成内容的互联网产品模式,且为了区别传统由网站雇员主导生成的内容而定义为web2.0
那么一个接着的问题就是,为什么互联网软件还没有取代所有的传统桌面软件呢?比如adobe的illustrator为什么还没有桌面版?这个原因我想主要是因为illustrator是做图像处理的,有很多的数据。如果用互联网软件,这么多的数据会导致用户的操作需要更久才能在浏览器上显示出来。因此,在这样类似的情况下,传统桌面软件还是无法取代的。
另一个问题是,手机上的软件和互联网网页的区别和联系是什么呢?手机上的软件,绝大多数,都是提供一个界面,所提供的功能就是替代浏览器。
这就是这次的解释。
下一个主题,我打算介绍一下互联网技术行业的几个职位:前端工程师,后端工程师,全栈工程师,数据工程师,数据科学家。同时也介绍一些流行的词:量子计算机,机器学习,深度学习。主要目的是帮助感兴趣的同学决定自己的发展方向。
上一篇:怎么策划一场微信营销活动?
下一篇:如何将万群引擎与社群运营相结合?