作者是《下一代浏览器》想法的 Tyler Angert
在过去的 5-10 年里,我发展出来的最重要的技能是围绕着计算、写作和设计。
他们一起帮助我成为一个全面的数字创作者,并且对于开始你自己的项目真的很有用——特别是0→1的努力。
你不必成为每个领域的专家,但它们都是相辅相成的,熟练掌握每一个领域可以开启你可以创造的许多新东西。
Build for the web
过去很多人都谈论过这个问题,但是现在的 web 在启动新项目方面有一些惊人的优势
• 超快的分发和更新
• 跨平台
• 有巨大的工具生态系统
• 有一个庞大的世界性社区
还有一些市场信号,意味着专注于 web 将有长期回报,比如 wasm,新的浏览器 Arc 和协作应用程序成为常态。
那么,这实际上意味着什么呢?
• 学习基本的 HTML 和 CSS。
• 学习 JavaScript(Just JavaScript),在没有任何库的情况下进行一些原型开发。
• 选择一个现代的 UI 库来熟练使用。React、 Vue 、TypeScript 和 Svelte 都是不错的选择。
数据库、实时应用程序等任何与后端相关的东西,在这里并没有真正包括在内,因为用于这些东西的工具一直在变化,而且诚实地说,相对于前端编程和开始建立简单的静态网站的基础知识而言,它们是次要的。
也就是说,如果你想更深入地了解 web 开发的话,那么基本的数据建模、与 REST 和 GraphQL API 的交互、理解 websockets 和 webhook 也都是非常重要的。
核心计算概念
其中一些是在为 Build for the web 构建的过程中隐含的,
但是我谈论的是一些核心操作系统概念、心智模型、数据结构和算法。
• 原语(meta 元要素)和抽象
许多计算都是关于理解系统,特别是它们的原语和抽象。所有系统都是用简单的原语、构建块和基本抽象创建的,或者是组装这些构建块的一般方法,这些构建块也可以用来构建其他东西。
• 好的抽象的效用
关注系统的重要部分而忽略其内部细节
使得快速构建更复杂的东西变得更加容易
让更多的人在不知道项目各个部分如何工作的情况下更容易为项目做出贡献
我们在任何地方都可以看到这种模式
观察任何事物(城市、应用程序、争论)并将其分解为核心组件,弄清楚它们如何相互作用是非常有用的。
- Lego : Bricks : Buildings
- Scratch : Blocks : Games
- Photoshop : Layers : Designs
- Music : Notes : Chords
- Physics : Atoms : Molecules
- School : Classes : Degrees
- Language : Words : Sentences
- Programming : Integers : Functions
• 函数和输入/输出
函数基本上就是一台机器,它接受某种输入,对其进行处理,然后产生输出。
在计算这些在一端输入数据、处理数据、然后在更多进程中使用输出的概念时,这些概念是无处不在的。
其中一些最大的例子是文件输入/输出、 unix 管道、客户机/服务器模型、 REPL,
甚至还有聊天机器人和谷歌搜索。
每个人都熟悉一个小文本框的概念,在这里输入一些东西,按回车键,然后得到一个返回的结果列表。
当你输入 URL 时,浏览器本身也是这样的,只不过结果可能是任何网页。
基本上,您越能弄清如何将流程建模为函数,就越容易将一些输入转换为期望的输出来建模如何实现目标。
基本的图形、视觉和信息设计
不是每个人都必须是制作视觉效果惊人的 UI 或杂志封面的专家。
但是基本掌握以下几点非常重要:
• 布局,这样您就可以正确地可视化您的信息层次结构
• 信息层次结构,因此可以以易于理解的方式组织信息
• 色彩,这样你就可以理解如何将视觉注意力引导到印刷品或屏幕上,并熟悉网页亲和力标准
• 排版,这样你就可以了解如何选择不同的字体,它们对阅读的影响,以及它们与颜色和布局的关系
大量的现代用户界面设计都是基于可靠的图形和信息设计。许多这些技能也转移到写作,特别是格式。知道如何拆分段落,在你的写作流程中添加适当的中断,以及改变你的句子结构,这些都是优秀写作的核心部分,也是信息设计的一种形式。
不是所有的事情都可以完全通过写作来解释。如果你是一个统计学家或数学家,可视化交流对于表达复杂的图形概念是必不可少的。如果你是一个作家,创建流程图或故事大纲可以帮助揭示情节漏洞和帮助你组织你的想法。
把写作当工具
我不会鼓吹“写作很重要”,因为其他比我写得更好的人已经说过无数次了。
但我仍然坚持认为,写作应该是你的主要工具之一,以原型,验证和充实的想法。
无论你是在推销一个研究想法,描述一些用户交互,评论一些功能,或者尝试解释一个数学概念,
能够简单地写和说可能是你能够发展的最重要和普遍可转移的技能。我知道这听起来显而易见,但关键是人们完全忽视了基本的沟通技巧作为一个伟大的设计师和做伟大的创意工作的基础。
我设计的很多特性都是从文档开始的。甚至是对话!有时候我只是用语音笔记解释想法,然后用草图把它们正式化。我将使用箭头解释用户流,描述事件如何从一个事件-> 到另一个-> 并返回。
并非所有的设计工作都是通过代码、原型工具或草图完成的。同样,并非所有的工程工作都是在代码或技术图中完成的。自然语言、文字和对话应该是你创造性工作的主要媒介。我最好的设计实际上发生在我只是和人们交谈的时候ーー通过系统的原语、用例和跟随兔子洞的任何地方进行交谈。
推荐:
