余果是腾讯社交用户体验设计部的高级 UI 工程师,同时担任前端开发组负责人以及 UI 开发通道评委,还是腾讯云特邀布道师,并且是《Web 全栈工程师的自我修养》的作者。

在之前的一篇文章里,我们明确了“未来”所涵盖的时间段,同时也阐述了怎样“面向未来”进行学习。简略地归纳一下,倘若没有实际的实践场景,那么就无法学到真正的技术。要是只是单纯地读书而不去动手实践,即便读再多的书,也不会掌握到新的技术。
在本文中,我们继续聊聊如何“跨界开发”。
我在腾讯的社交用户体验设计部工作。在这 6 年多的工作经历中,有长有短。在这段时间里,我与很多设计师有过接触,也与很多工程师有过交流。我学到了一个很宝贵的知识,那就是设计和艺术是不同的,工程和科研也是不同的。
设计和艺术不同。文艺的表达是“艺术发现问题,而设计解决问题”。这意味着设计是为商业服务的。作为上市公司的设计部门,要能够清晰地展示产品,营造出用户的渴望。在一定程度上,要把个人的“术”隐藏起来,给用户构建一个系统性的体验。设计的创作虽依赖灵感,但总体上是科学的、可推导的。
工程和科研不一样。科研要在一个专门的技术点上达到满分,甚至超越人类知识的最边缘,达到 101 分。然而在工程的情形里,更为重要的是投入合适的技能点来达成当前阶段的目标。
因此,当我想要独自创建一个属于自己的产品时,我在设计方面投入了恰到好处的技能点。我在前端方面也投入了恰到好处的技能点。我在后端方面同样投入了恰到好处的技能点。我在 APP 客户端方面也投入了恰到好处的技能点。
我并不是想要做全栈工程师才学这些技能,而是因为想要独自做一些产品。在这个过程中,我持续学习,不知不觉就领悟到了全栈工程师的一些心法。
这些心法被我记录在了我的新书《Web 全栈工程师的自我修养》里。
我有一个假说,即好的前端工程师往往也是好的全栈工程师,然而反过来却不一定。
我必须老实承认,因为没有数据能够证明,所以这只是我个人的一个假说。
以下是我的推导过程。
如果我们都认同全栈工程师的定义为“能够独自完成一个产品的人”,而非“精通一切技术的人”。那么通常的 Web 产品或 App 产品所需的能力,大致可分为“技术”“学习”以及“产品感”这三个方面。
- 还包括移动客户端。
学习展现出了持续学习的能力以及解决新问题的能力。除了图中所列举的那些技术之外,还有在不断增长的新技术,因此,具备有效的学习能力是非常必要的。
产品感包含对用户体验的理解,还包含依据产品数据持续对产品进行迭代的能力。为何产品感很重要呢?在 App Store 中,有一些非常优秀的 App 是由个人开发者独立开发的,他们历经了从构思到设计,从开发到发布的整个流程。倘若没有良好的产品感,就不能够实现从“程序员”到“工程师”的转变。
前端工程师在学习和产品感上都有天然的优势。
国内最优秀的大学也没有“前端”这门专业。vue.js 的作者 Evan 本科读的是艺术史,Node 大神 TJ 学的是设计,他们都并非计算机专业。他们最终进入前端领域,凭借的是爱好、勤奋以及学习能力。所以我认为“前端工程师学习能力强”这一点无人能够反驳。
前端经常与用户界面打交道,所以在工作中会思考什么样的用户界面能吸引用户。用户可能通过各种浏览器和设备访问网站,这就需要同理心去感受用户的实际访问情况。再次强调,只有有实践场景,才会有成长,前端在“产品感”方面会有更多实践场景。
当然,不是所有的前端都持有这样的想法。然而,对于那些用心做事的前端而言,提升整体能力的机会是极为丰富的。
前端工程师比较熟练的通常是前端技术,比如 HTML 和 CSS 等。而要熟练使用前端技术,前提是对系统有一定的理解。
系统设计是用软件工程的方式来架构一个软件系统,它能够对应解决现实生活中的实际问题。我感觉在软件系统中常常会用到 HTTP 协议,用于进行客户端与服务器端的通信,甚至服务器与服务器之间的通信。对于必须掌握 HTTP 的前端工程师而言,他们往往已经有了大概的了解。
说到后端,语言并非构成很高的技术门槛。在服务器端,若不是用户量特别大的系统,且数据量能够通过一台服务器处理完成,那么前端工程师常常会与后台 API 以及简单的模板型语言有接触。
投入时间的话,应用层的后端语言能够很快被掌握。你所需要的仅仅是一个能够运用后端语言的机会。
学习后端语言时,我的建议如下:要专注于项目;要精简所需的技能列表。
如果你已经非常精通,那就直接运用 Node 去着手搭建后端。不要花费时间去学习 PHP 或者 Java 了。因为这样做除了会让事情变得更加复杂之外,并没有什么特别重大的意义。
人类的大脑并非是为处理复杂项目而被设计的。人类从原始村落发展到现代化都市,并非是由于基因或生理方面发生了进化,而是协作的方式发生了改变。这种改变表现为分解复杂项目,让每个人都遵循共同接口,只完成分解后的工作。因此,全栈工程师在学习技能时也应该认识到自己大脑的极限。
如果团队对后端语言有要求,那么就必须要遵循团队已经具备的技术能力。
总之,不要在特定的某一时间去同时学习多门语言。这样做除了会增加技术方面的复杂度之外,没有任何意义。
说到 Node 时,要推荐一个网站。这个网站是《软件随想录》的作者 Joel 推出的最新的具有革命性的产品,它可以让开发者以最为快捷的方式去开发 Node 程序,并且不需要购买服务器以及搭建开发环境。
如图,将新的依赖库名称和版本号添加到.json 中,然后进行保存。这样一来,服务器会自动把对应的库下载到你的目录里。
还提供库名补全功能。
你接下来就能够直接在代码里使用这个库啦。因为这个库已经被安装在云端的“本地”啦,这实在是太方便啦。
说说移动客户端开发吧,具体而言是指iOS和客户端。
客户端原生开发的本质是对数据进行渲染,生成用户界面,并且对用户行为做出响应。前端开发的本质也是如此。2015 年起,客户端开发和前端开发有越来越多相似点。例如,都使用 MVC 的架构方式将界面、逻辑和数据分开。并且,都可以用 React 技术栈来实现。
当前端工程师接触到客户端原生开发时,会有一种特别的感觉,就像是打开了新天地!原本是依赖客户端提供的设备接口的,而现在这些接口都可以通过原生接口直接进行操作了;原本那些超过几千行就会崩溃的图文表单,在使用原生开发后,就可以像黄油般顺滑地运行了。
如果想要复用已有的技能,而非从一开始就学习原生语言,那么可以考虑(混合式)以及 React 这两种方案。
无需多言,实际上就是在 Web 页面中进行渲染。只要你熟悉移动站点开发,就可以直接上手开发。这种方式的优点是足够简单,缺点是加载速度会比较慢,并且无法渲染大量数据。
对于 React 来说,尽管它像(某种其他技术)一样使用 作为编程语言,然而它是另一种解决思路。React 重新界定了一种用于渲染界面、处理数据以及处理交互的编程方式,并且在各个平台上都能够渲染成原生界面。通过这样的方式,React 宣称达成了“Learn once, write ”。
React 实际上会编译成原生界面,所以其性能一般比较好。React 正在提供越来越多的组件,不过要注意的是,有些组件的性能比其他组件要好。例如,和都可以实现应用内导航,但是直接封装了 iOS 的,所以它的性能更好。
选择组件时,我们要依据性能和开发的便利性来进行权衡。倘若对性能的要求不是很高,那就可以直接使用。倘若对性能的要求很高,就应当针对 iOS 平台来使用,对于其他平台则使用其他技术或者。
算法和数据结构在大学计算机课程里占比较大。各类 ACM 竞赛主要考察的也是算法和数据结构,这使得一些学生觉得它们是软件工程中最为重要的部分。
实际上,“算法和数据结构”可被视为与“系统设计”相反的技能树。理论侧重于深度,即探讨在既定计算能力约束下,怎样能更快速、更好地解决一个问题。而系统注重广度,也就是探究对于一个实际需求,如何在众多技术中设计出最节省且效果良好的技术组合。
现代的编程语言抽象程度较高。程序员不需要掌控到内存级别的分配与释放。只需使用高级抽象的数据结构就行。它本身没有复杂的数据结构。然而,使用和闭包能够模拟出任何数据结构,包括树和链表。甚至通过第三方库(比如)可以当作增强版的来使用。
算法和数据结构属于基础内功。倘若没有内功,仅剩下招数,便无法成为绝世高手。许多自学成才的前端由于不理解算法,有可能会编写出渲染性能极为糟糕的网站。
那么如何提升算法和数据结构能力呢?推荐一个网站
现在大部分题目已经支持。
下面聊一下数据库。
数据库往往是网站发展到一定规模之后的最终瓶颈。
这并非是我的个人观点,而是有大量网站予以证实。当用户量急剧增加,feeds 数量也急剧增加的时候,首先承受不住压力的就是数据库。所以当我们谈及 scale 这个话题时,或许有一半的时间都在谈论数据库的扩展。
它是一个针对文档的数据库,并非关系型数据库。面向文档具有以下几个益处:
易于使用:不再有行的概念,而是以文档来呈现。这样更加灵活,也更符合现代面向对象语言开发者对数据的看法。并且,key 与 value 不再有固定的类型和大小,所以添加和删除字段变得更为容易,实验能够很容易地开展。
数据库的大小在加速增长,这符合安迪 - 比尔定律。因为数据库必然会增长,所以就有如何扩展的问题。从技术角度来看,分为纵向扩展(scale up)和横向扩展(scale out)这两种思路。纵向扩展就是增加单个计算机的性能,比如使用更大的内存、更快的 CPU 和更大的硬盘。但是纵向扩展终究会面临性价比的评价。所以如今的大型互联网系统都秉持着横向扩展的思路,把多个普通的计算机连接成集群。基于这样的情况,要是想提升性能,只需往集群中添加一台普通的计算机就可以了。
管理 1000 台计算机集群这件事,显然比管理一台计算机要困难很多。 管理 1000 台计算机集群比管理一台计算机更困难。 管理 1000 台计算机集群的难度明显比管理一台计算机大。
采用横向扩展的架构设计,当面对文档的数据类型时,它可以在多台服务器之间轻松地进行数据分割。它能够自动处理跨级群的数据与负载,自动对文档进行重新分配,并且能将用户请求引导到正确的机器上。如此一来,开发者就能够将精力集中在写程序上,而无需担忧扩展方面的问题。
安迪指英特尔前 CEO 安迪·格鲁夫,比尔指微软前任 CEO 比尔·盖茨。安迪 - 比尔定律的意思是,硬件提升的性能,很快会被软件给消耗掉。
主要目标是提供卓越性能。在一些设计中体现了这一目标,例如可对文档进行动态填充,还能预先分配文件以利用额外空间换取稳定性能。总之,各方面设计都旨在保持其高性能。
腾讯云的云服务器在横向扩展方面支持弹性定价,用户达到一定级别后能够随时进行扩展。同时,腾讯云也支持多种类型的数据库,包括关系型数据库、文档型数据库以及数据库缓存机制。目前,腾讯云针对学生推出了特别优惠活动,只要上传学生证,就能够以 1 元的低价获得域名和服务器。(参考地址)
好了,今天的分享就到这里,谢谢大家。
涉及到的链接会单独放出一页,大家可以进行拍照。这页的字号很大,即使在后排也能够看到。也许有一天,大家在相册中翻出这页时,也会想起相关的事情吧(哈哈)。
看完记得点个赞!
# 拉丁文数字媒体营销推广
# 说到
# 金融行业网站推广案例
# 中山营销推广怎么找
# 虎门商业网站建设
# 金阊建设网站方案
# 泊头网站建设工程管理
# 南平抖音付费营销推广公司
# 咸阳抖音seo推荐公司
# 营销推广保举火31星
# 天津定制网站建设厂家
# 更大
# 辽宁定制营销推广哪里好
# 威海营销推广推荐
# 管城区网站建设方案
# 家装楼盘营销推广计划书
# 淘宝618推广营销方案
# 山西网站建设价格优惠
# 邢台数字营销推广便宜
# 桥头抖音seo模式
# 兰州企业网站seo优化哪家强
# 什么叫网站优化什
# 会有
# web全栈开发进阶之路
# web全栈开发方向
# 数据结构
# 的是
# 腾讯
# 客户端
# 我在
# 一台
# 后端
# 文档
# web全栈开发 技术
# 恰到好处
# 心法
# 很高
# 安迪
# 的人
# 就可以
# 那就
# 不需要
# 只需
相关文章:
360禁止员工用微信讨论工作,48小时内解散所有工作群
seo需要什么人才,seo需要做什么工作 ,ai制作旋转字体视频
SEO每日一帖:让网站流量稳步提升的10大必备技巧
为什么ChatGPT打不开网页?深度解析原因与解决方法
什么是seo概念,什么是seo,sem ,ai发光线条
seo进阶买什么书运营,seo入门难吗 ,ai工具和ai的区别
百度搜索结果SEO优化要点,品牌排名占位及核心理论全解析
资金周转不开怎么办?微粒贷是正规可靠的小额信贷首选!如何使用?
Typecho主题定制,打造个性化网站的秘密武器
不用登陆AI智能写作助手,让创作更轻松高效
初中生网课一对一哪个平台好?提分牛微信小程序怎么样?2026权威测评揭秘
SEO软件应用介绍:提升网站排名的智能利器
SEO的核心是什么?全面解读搜索引擎优化的关键要素
正版腾讯微信app最新版本介绍,功能强大超流行!快来下载
seo竞价做的什么工作,seo 竞价 ,最强ai pc
高一英语惨遭15分滑铁卢?别慌!抓住这3根救命稻草,30天逆袭及格线真的有可能!
WordPress获取网站最新信息,助力网站管理和优化的全新利器
百度推荐怎么推广?常见的这几种推广方法你知道吗?
SEO怎么优化比较好?全面提升网站排名的实用技巧
seo相当于什么职业,seo相当于什么职业类别 ,sc830ai
什么是搜索权重?揭秘如何提升网站排名的秘密
seo网络培训是什么,seo工作培训会培训啥 ,名ai
SEO引擎优化方法-让你的网站流量暴增的实战指南
百度网盘资源搜索引擎入口最新版 _ 2026年实测7大免登录神器
seo是什么最好,seo是干嘛的 ,嘉然 ai少女
职场风景照成主流?领导者微信头像背后的深层考量
SEO整站优化推广推荐:让你的网站脱颖而出
免费试卷网中考:中考真题免费下载网站_中考真题下载网站推荐哪个更靠谱?
新编实用英语1第五版pdf到底在哪能下载?求大佬分享靠谱的电子版资源下载地址
数字时代音乐资源超丰富!20个实用音乐搜索器和下载平台汇总
玩微信赚钱小游戏?小心广告和提现门槛!快试试无广告无门槛的
中文段落AI分析:智能化文本处理的新突破
WordPress对接微信支付宝支付:轻松搭建高效电商系统
一键脱装工具,出大制作了!游客:别画饼了!
为什么新手做seo好做,为什么要懂seo ,ai变医院
seo是什么币,seo是什么意思啊视频教程 ,ai绘画情侣头
小学资料书十大排行榜如何选?_小学生必备教辅书哪款更适合基础提升?
柠檬美名众多受欢迎,宁光院长推荐成抢手货,医疗妙用早有记载
做过百度竞价的看过来!排名忽高忽低是人为干预?解密来了
SEO文章内容有哪些策略?助力网站提升排名的核心要素
SEO文件格式校验:提升网站优化的关键一步
初中中考单词表3500词如何高效记忆?分类速记法实测有效,附打印版资源
普通高中英语课程标准2017版英文pdf下载_核心素养四大要素如何用英文准确表达?
初中英语翻译句子评分标准_中考英语翻译评分要点解析?如何把握得分关键?
初中英语知识点总结大全(非常全面):哪位学霸能分享一份靠谱的语法难点突破指南?
孩子语文学习效率低?这份人教版五年级上册必背清单如何免费打印获取?
家长必看:小学试卷免费下载含答案的软件有哪些靠谱选择?这份实测指南帮你避坑!
seo是什么游轮,seo you ,ai女子直播
SEO是什么意思网络,seo是指的什么 ,ai结尾的字
seo搜索是什么,seo 搜索引擎 ,新型AI
相关栏目:
【
网络营销44070 】
【
网络推广122852 】
【
网络优化116010 】
【
网址导航102054 】
【
网络技术82194 】
【
网络资讯43554 】