我们这些已经习惯了各种网络语言的人,往往忽略了我们可以通过学习另一种或两种语言来获得的多样性和额外的交互性。也许你是一个初学者,想要了解你需要花时间学习什么,或者你是一个有经验的人,想要玩一些新的东西。无论您的情况如何,本文的目的都是在您可以使用的各种语言下面划线和他们在拼图中的位置。
这应该是一次有趣的旅程,经验丰富的专家可能会发现他们还没有遇到过的语言!
厨师太多
说到网络编码的多样性,我们脑海中就会浮现出那句众所周知的短语“人多反而坏了汤”。不仅在浏览器支持现代标准的方式上,而且在存在的竞争格式的不断增加的范围上。你应该使用HTML还是XHTML, RSS还是Atom, PHP还是ASP ?. NET, SVG或VML, JavaScript或VBS?
这个清单几乎是无穷无尽的。我不会责怪任何人在这一点上感到困惑,因为这个问题本身往往取决于个人偏好——在你理解这门语言并经常使用它之前,你可能不会建立起这种偏好。只有当有经验的人聚在一起,互相教育为什么他们的语言比别人的更好(或者我喜欢称之为“语言”)时,这种进退两难的情况才会得到解决火焰战争)。
你应该学习哪种网络语言?
那么你寻求的答案是什么,你应该学习哪些语言?简单的答案是……
视情况而定。决定因素不仅仅是依赖于地盘类型你正在努力生产,但也你希望深入研究的复杂程度。因此,在我们希望确定您应该选择哪种语言之前,我们需要根据其目的对所有可用选项进行分类。
起初,这似乎是一项复杂的任务,但幸运的是,web语言都有很好的文档,并且每种语言都在web的各种现有层的上下文中解释了它的目的。
虽然每种语言都有文档,但是选择那些值得您考虑的语言以及它们在所承担的功能中如何相互关联是初学者经常遇到的问题。你必须从大量的选择中选择一个你觉得有趣和有用的。虽然我甚至不会试图单独解释每种语言的历史(因为这篇文章在这一点上将成为百科全书式的长度-相反,我将链接到它们的规范),我们将把选择协调成易于识别的部分,从那里,您可以决定哪个选择最符合您的需求。
语言层
那么存在多少语言层呢?大多数人都能识别出结构标记(HTML)、样式表(CSS)、客户端脚本(JavaScript)和服务器端脚本(PHP)等层,但你可能会惊讶地发现,如果你根据每个变体的预期目的来解释,那么它的数量是惊人的有15个不同的层。当然,在这个阶段,值得指出的是,学习15种语言来覆盖所有可能的层面并不是你的最佳利益,因为你只会花费你所有的时间来学习,但是当你需要一种技能时学习一种新的层面对你来说是真正有益的。
每一层都代表一个独特的功能,比如添加与最终用户交互的行为的能力(在JavaScript的情况下),或者在屏幕上提供动态矢量图形的方法(在SVG的情况下)。拥有实验和实现各种独立层的知识将给你带来优势,无论是作为专业人士(你将能够覆盖更广泛的技能)还是作为业余爱好者或新手(在那里你可以在尝试网络提供的服务时为扩展的乐趣而高兴)。
当然,虽然这些层构成了无限可能的功能,可以注入到你的网站,有些人可能只需要几个这样的层来创建一个基本的网站(如HTML和CSS)。限制你的技能或为你的技能定位,成为单一层次(和语言选择)的大师,这绝对没有错。
这篇文章只是作为一个起点你可以根据更广泛的网络语言来检查你目前的知识水平(以确定你可以从什么开始-如果你知道的话,那就是)。
集体选择
在你之前看到的语言层图中,很明显有很多层组成了一个网站的独特结构,但就目前而言,它对你没有多大用处,因为没有列出实际的语言。这就是那些了不起的缩写的由来。对于存在的每个语言层,您将发现(下面)符合类别的语言列表,它们的浏览器支持级别,流行状态(用于寻求帮助)以及所涉及的复杂程度等详细信息,以及基于该信息的一些建议(突出显示其他语言)。
注意:有些语言是列出的另一种语言的子集,有些语言可能派生于某种实现,但由于公众意识,它们被单独引用。同样值得注意的是,这些建议是基于我自己的经验提供的,因此在某些方面可能会有一些争论,这取决于您与谁交谈。
标记语言
联合语言
元数据语言
样式表和转换语言
客户端脚本
- AJAX(XHR)
- DOM脚本
- Flex(动作脚本)
- JavaScript
- VBScript
- 其他:E4X, ECMAScript, JScript, JScript。. NET和WMLScript(已弃用)
服务器端脚本
- ASP
- ASP。网
- ColdFusion
- JSP
- Perl
- PHP
- Python
- Ruby On Rails
- 其他:Lasso, OpenLaszlo, Smalltalk, SMX, SSI和SSJS
数据库管理系统
- ms sql
- mySQL
- 甲骨文
- PostgreSQL
- 其他:Derby、MongoDB和SQLite
沙箱语言
服务器端/Web服务器设置
富Internet应用程序
矢量建模语言
PostScript格式语言
- XPS
- 其他:FlashPaper和OpenXML
数据格式化语言
- DocBook
- KML
- MathML
- OpenSearch
- 垫
- 网站地图
- VoiceXML
- 其他:DOAC, DOAP, GML, GraphML, InkML, OpenMath, SISR, SRGS, SSML和XMLTV
文档模式语言
关于全面性的警告
虽然在这个列表中只提供了公认的和具有合理支持水平的语言,但值得指出的是,还有许多其他语言存在,如果您觉得有必要深入研究一些更晦涩但可能更有趣的东西,可能值得检查。
展望未来
既然你已经意识到有大量的选择在你的指尖,我相信你会想要跑出去,进一步研究这些语言,也许学习另一种技能,你可以添加到你的简历(或进一步提高你的方式来建立一个网站)。
刚开始?
如果你是整个网页设计/开发场景的初学者,我的一般建议是坚持使用其中一种语言我已经按建议强调了在每个类别中(如果你觉得自己研究只会让你感到困惑的话),并按照列出的顺序遵循每一层,为你提供一个通用的路线图,以涵盖你可能希望使用的任何内容(HTML是一个很好的入门语言)。
在这一点上值得注意的是,所提供的顺序、细分和建议是简单的我的解释如何找到一种新的语言。
影响你选择的因素
重要的是(在我们结束这个讨论之前)强调一下,你对每一层的选择都应该考虑到预期的兼容性(这样你就知道你的选择将适合你的访问者)、相关性(如果语言是当前的或已弃用的)和你觉得舒服的使用。
不要担心
网页设计/开发世界的初学者应该记住,即使是最有经验的网页大师也要从底层开始,一次只学习一种技能/语言。如果你觉得你的选择太多了,只要按照我的建议去做,你就不会偏离正道太远。虽然所有的注意事项和列表可能看起来很多,但为web编码的伟大之处在于你只需要几门语言就可以开始。
你的其他知识可以随着时间的推移而发展,随着你的增加而发展你的工作有了更多的层次。希望,你已经得到了灵感和途径,也许超越传统的HTML, CSS和JavaScript的语言,你可能从来没有考虑过,我期待着看到你学习一个全新的令人兴奋的网络技术!