前言 #
和计算机打交道已经两个年头了,也进行了很多编程的实践。一开始很多编程方法只是作为一种工具,就像,我们日常使用手机,平平淡淡。然而编程毕竟不同于用手机,是一种需要耗费脑力的体力活。在这一过程中,思维方式也逐渐受到了一些编程哲学的熏陶,逐渐能够理解一种编程范式背后巧妙的构思了。这也恰恰是编程有意思的地方所在:我竟然可以描述这么复杂的东西,或者,我竟然可以用这么优雅的方式描述这个东西。
而这篇文字就是用来记录一些我感受到的编程语言的有意思的地方,在平淡的键盘敲击中流转的语言设计者的巧思。我不打算用文字来描述所谓的哲学,因为文字描述没有意义,我想记录的其实是那些让人惊呼"原来如此"的简单案例。
React #
React 不算一个编程语言,而是一种编程范式,就像著名的"面向对象"编程一样,是一种编程方式,其具体实现还是依赖于 TSX 这个具体的语言。个人感觉 React 定义了一种描述响应式 UI 的方法。为什么将这个例子作为第一个呢?因为 React 就是启发我去思考编程哲学的第一个契机。
为什么这么说呢?让我们试着想象一个理想中的现代化网页:一个现代化的漂亮的网站一定不是死板的文字呈现,网页的元素应该丰富一些,要有精美的视觉设计让文本和图片以令人舒适的方式呈现;还要有丝滑流畅的动画交互,比如让背景的视觉焦点随着用户的鼠标移动,让原本普通的按钮能够以水面涟漪的方式响应用户的点击……
想象很美好,然而当我们需要像计算机描述我们的精美想象的时候就出现了问题:实在是太难以描述了!此时 React 就为我们提供了一个方案:可以使用 TSX 语言并按照一些简单的步骤去构思就能够完整描述那些复杂的 UI 功能。
React 的官方文档中就记录了 React哲学 这一部分,通过一个具体的例子阐明了哪些复杂的 React 代码到底是怎么构建出来的。
这里引用官方的描述:React 可以改变你对可见设计和应用构建的思考。当你使用 React 构建用户界面时,你首先会把它分解成一个个组件,然后,你需要把这些组件连接在一起,使数据流经它们。
至于具体的 React 哲学到底是什么其实没有意义。当你使用错误的方式痛苦地理解大型 React 项目之后,再回过头来看这篇短小的教程,你或许会惊呼:原来如此!或许这才是真正的意义所在。