RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
flutter优劣,flutter好用吗

前端基础设施怎么搞?看腾讯TDesign跨技术栈组件库的最佳实践

在 6 月 28 日的首届 Techo Day 腾讯技术开放日上,腾讯发布了一系列“轻量级”产品,将腾讯多年自研产品的底层能力释放给了开发者。

成都创新互联公司专注于武陵源网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供武陵源营销型网站建设,武陵源网站制作、武陵源网页设计、武陵源网站官网定制、微信小程序开发服务,打造武陵源网络公司原创品牌,更为您提供武陵源网站排名全网营销落地服务。

正如腾讯云高级副总裁 CTO 王慧星,在前不久的腾讯 TDesign 技术生态日提到的那样:“自腾讯确立了开源协同,自研上云的技术战略,成立了十大技术领域委员会,推出了众多 PaaS 能力,并将这样的能力放在云上,实现对内部和外部用户的统一服务。”

而腾讯设计云旗下的企业级产品设计体系腾讯 TDesign 正是这样一款产品,其也在首届 Techo Day 腾讯技术开放日活动中,发布了新的产品动态。据了解,目前腾讯 TDesign 的大部分组件已经完成了内测版本的发布, Vue 2、Vue 3、React 和移动端 Vue 3 也已经发布了公测版本和候选版本。与此同时,Augular、Flutter 、taro 等热门技术栈也在开发的行列当中。

如果要回溯腾讯自研 UI 组件库的缘由,这或许要先了解下前端领域的发展史。

纵览底层的前端框架领域,先是经历了 JQuery 一统江湖的时代,而后过渡到了 MVVM 框架成为主流的时期。目前,Vue、React 以及 Angular 则成为了前端开发人员使用最多、最广的底层框架。可以看出,业界并没有完全占据主导地位的前端开发框架,这也就导致前端技术团队在迭代技术栈时,往往存在较大的切换成本,跨团队共享前端资产时也会遇到技术栈差异的壁垒。

此外,由于组件库和团队技术栈存在一定耦合性的关系,对于很多企业中后台系统这样的弱设计风格场景,我们可以根据整个栈的风格,大致推测出这个项目使用了哪种组件库。例如,前端团队选择了 React 开发框架,大概率会用 AntD 组件库;使用 Vue 开发框架,则大概率会直接用 iview-admin 页面模板。这样一来,技术栈的差异不仅会导致整个组件库的选型受到一定限制,还会让对外曝露的产品体验存在较大的偏差。

因此,在产品体验、开发效率与设计效率等因素的驱动下,腾讯通过开源协同的方式,与多个业务团队共建了企业级设计体系腾讯 TDesign ,通过提供复用性的设计体系,为设计研发各个流程环节提供需要的设计和研发等解决方案。

在代码组件库中,腾讯 TDesign 基于业界实际的使用需求,已经覆盖了 Vue、Vue Next、React 等主流的前端开发框架,目的在于让公司内外部使用的同学都可以根据自身实际需求,选择对应的组件库产品,不再受技术选型的限制。当项目同时有桌面端和移动端使用需求的时候,腾讯 TDesign 还可以统一产品在两端上的业务体验。

从另一个角度来看,如果没有统一的 UI 组件体系,UI 设计师的工作效率同样是大打折扣的。在“腾讯前端通用 UI 组件库技术生态日”活动中, 腾讯用户研究与体验设计部总经理陈妍说道:“如果没有腾讯 TDesign 这样的 UI 组件库,设计师是最大的受害者,因为我们的工作需要不断的重复,没有办法把时间节省下来做更加有价值的事情。”

基于设计师的痛点,腾讯 TDesign 目前也提供了 Figma、Sketch、Axure 等设计资源以及 Sketch 设计插件,让设计和代码能够无缝衔接,使设计资源分配到必要的环节。

既然腾讯 TDesign 选择了支持各种技术栈的原生开发,就不可避免地会遇到几类问题。例如,UI 组件库怎么保证与技术栈产物一致性?交互和 UI 实现怎么保持一致?组件 API 怎么保持一致?官网体验与用户的实际使用如何保持一致?

据腾讯 TDesign 团队透露,虽然业界基于上述挑战已经有几种不同实现的方式,但其各有优劣:

一种方案是基于 Web Components 做一个组件,将其使用在各个框架当中,但 Web Components 方案的优势与具体实现框架没有太大关系,因为是由浏览器原生支持,其最大的问题还是浏览器的兼容性,部分浏览器可以通过 polyfill 解决,但是有些政企浏览器的兼容性依然是不可小觑的问题。

另一种方案是直接将一份 React 代码转成 Vue,这带来的好处是可以真正做到维护一份代码,同时支持多技术栈,但统一整个前端技术栈其实是比较大的课题,目前业界还没有统一的方案。另外,代码转换支持多技术栈的方案,其实在应用开发层会更常见,对于腾讯 TDesign 这种底层依赖而言,转化后代码的稳定性还是难以得到保障。

不仅于此,这种转化方案的中间层代码相当于是新的框架,既不是 Vue,也不是 React,对于贡献者来说门槛比较高,会进一步导致开源社区不够活跃,这同样是腾讯 TDesign 团队需要考虑的问题。

最终,腾讯 TDesign 团队决定选择用 Vue 开发 Vue 技术栈,React 开发 React 技术栈,除了 Angular、小程序等受技术栈限制,其他技术栈均统一用 Jsx 来维护组件实现,并主要解决了以下几个问题:

组件 API 保持一致

腾讯 TDesign 团队梳理出了开源项目前端组件上线的流程,在组件进入开发的前置阶段,设置了 API / 交互稿统一评审环节,邀请各技术栈的实现者、UI/ 交互设计师以及 PMC 成员同学一起针对组件 API 的易用性、灵活性以及必要性进行评审,充分的讨论过后,会将大家的意见形成整个组件的 API 描述,并录入腾讯 TDesign 的组件 API 管理平台。

最终,API 管理平台会生成各个技术栈的 API 文档、某个组件的 props.ts、typeb.ts 等文件。当组件开发者进行开发时,不需要对照文档做开发,直接根据已经生成的定义文件开发即可,做 API 开发同学提了 PR 做 review 时,有任何更改会同步到各个技术栈实现的仓库。

用户实际使用与官网体验保持一致

为了让用户的实际使用感受与官网体验保持一致,腾讯 TDesign 做了一层官网共同的架构,目前所有的组件文档包括文字部分,以及我们要展示的组件 Demo。各个端实现时,会各自引入一个 Web Components 实现官网的公共部分,通过统一的 Markdown 解析工具,最终解析出来的栈点就会完全一样。

各个技术栈产物的 UI 和交互保持一致

除了要保证组件 API 一致,还要保证各个技术栈的产物里 UI 和交互都要完全一样,这里 TDesign 做了两件事情:第一,以 TDesign Token 贯穿设计开发流程,从最初设计师提供的设计稿,到组件库里代码的实现变量,一直到最终组件库里面 NPM 包产物,每个变量都有一一对应的关系;第二,抽取一个独立的仓库,将每个组件都独立维护在 TDesign-common 仓库,通过 Submodule 的方式引入到实现仓库里。当 UI 需要调整的时候,直接在独立的库里修改,再同步到各个技术栈实现的仓库,最终保证整个 UI 和交互在各个技术栈上面实现完全一样。

部分组件代码复用

除了 UI 相关实现代码做到了各技术栈复用,腾讯 TDesign 也参考了业界类似组件库产品的实践, 探索 了一些代码逻辑复用的方案:一些与技术栈无关的组件抽象类,也抽取到了 TDesign-common 仓库中;合理分层组件实现,通过 Hooks 和 Composition API 来跨技术栈复用部分代码实现。

据了解,当前腾讯 TDesign 在内外部已经有了比较广泛的应用基础,腾讯内部在积极推动各个业务统一到 TDesign,也支持了多个领域和行业外部项目落地,并从中孵化出了多个行业组件库。这些组件库也将在未来逐步开源,持续支持各行业领域的系统建设。

而当我们开始回溯腾讯 TDesign 自开源以来的历程,可以发现其取得的成绩已经可圈可点:在开源社区的建设方面,腾讯 TDesign 仍然秉持着为社区贡献价值的初心,不断向有活力、高质量的开源社区进阶。据统计,上半年 TDesign 共有 280+ 贡献者,其中外部 17 ,核 贡献者 47 ,GitHub star 4k+。

展望未来,腾讯 TDesign 还将继续围绕着两个既定目标迈进:

第一,让更多人使用腾讯 TDesign。后续组件库各技术栈将发布 Stable 版本,并针对移动端开展专项优化,以确保提升组件质量和用户使用体验。为了最大化提升设计师的工作效率,还将提供 模板、移动端 Figma UIKit Variant(设计可配置能 )等设计资源,并建设物料市场,承载更多的 业组件和模板资源。除此之外,TDesign 还计划支持国际化以及无障碍适老化的适配;

第二,建设更有活 、更 质量的开源社区。为了帮助更多从业者了解企业级设计体系 腾讯 TDesign,社区后续计划沉淀、总结设计体系和组件库专业 章 / 课程。另外,为了吸引更多外部开发者加 贡献,透明化内外部协作进度,开源社区将优化开发者的招募和激励机制。

谈及未来的发展规划,腾讯 TDesign 团队在接受 InfoQ 采访时表示,未来除了会支持现有的前端技术栈,还将协同社区的力量推出 Web components、Flutter 等更多技术栈产品,服务于公司内外使用者。同时,也期待更进一步复用跨框架实现的代码,在降低维护成本的同时,不显著额外提升参与贡献的门槛。

作为腾讯设计云的关键产品,腾讯 TDesign 的诞生便是为了让 UI 组件库摆脱技术选型的影响,让其回归到前端基础设施的地位上来。事实证明,在一步步的迭代与优化之下,腾讯 TDesign 已经逐步地将开源协同能力渗透给了更多企业。

与此同时, 腾讯用户研究与体验设计部总经理陈妍还在接受 InfoQ 采访时透露:未来,腾讯设计云将继续在设计资产、设计协作效率发力,针对图标库、设计资产开源平台以及智能设计工具进行迭代升级。目前,腾讯设计云已经初步完成平台建设阶段,后续腾讯设计云将逐步向内容建设方面进阶。

我们也坚信,今后腾讯设计云在实现高效设计、轻松协同目标的过程中,也将迈出更加坚实的一步。

告诉我假如给我三天光明的英文版全文吧...拜托

第一天,我要看人,他们的善良、温厚与友谊使我的生活值得一过。首先,我希望长久地凝视我亲爱的老师,安妮·莎莉文·梅西太太的面庞,当我还是个孩子的时候,她就来到了我面前,为我打开了外面的世界。我将不仅要看到她面庞的轮廓,以便我能够将它珍藏在

我的记忆中,而且还要研究她的容貌,发现她出自同情心的温柔和耐心的生动迹象,她正是以此来完成教育我的艰巨任务的。我希望从她的眼睛里看到能使她在困难面前站得稳的坚强性格,并且看到她那经常向我流露的、对于全人类的同情。

我不知道什么是透过“灵魂之窗”,即从眼睛看到朋友的内心。我只能用手指尖来“看”一个脸的轮廓。我能够发觉欢笑、悲哀和其他许多明显的情感。我是从感觉朋友的脸来认识他们的。但是,我不能靠触摸来真正描绘他们的个性。当然,通过其他方法,通过他们向我表达的思想,通过他们向我显示出的任何动作,我对他们的个性也有所了解。但是我却不能对他们有较深的理解,而那种理解,我相信,通过看见他们,通过观看他们对种种被表达的思想和境况的反应,通过注意他们的眼神和脸色的反应,是可以获得的。

我身旁的朋友,我了解得很清楚,因为经过长年累月,他们已经将自己的各个方面揭示给了我;然而,对于偶然的朋友,我只有一个不完全的印象。这个印象还是从一次握手中,从我通过手指尖理解他们的嘴唇发出的字句中,或从他们在我手掌的轻轻划写中获得来的。

你们有视觉的人,可以通过观察对方微妙的面部表情,肌肉的颤动,手势的摇摆,迅速领悟对方所表达的意思的实质,这该是多么容易,多么令人心满意足啊!但是,你们可曾想到用你们的视觉,抓住一个人面部的外表特征,来透视一个朋友或者熟人的内心吗?

我还想问你们:能准确地描绘出五位好朋友的面容吗?你们有些人能够,但是很多人不能够。有过一次实验,我询问那些丈夫们,关于他们妻子眼睛的颜色,他们常常显得困窘,供认他们不知道。顺便说一下,妻子们还总是经常抱怨丈夫不注意自己的新服装、新帽子的颜色.以及家内摆设的变化。

有视觉的人,他们的眼睛不久便习惯了周围事物的常规,他们实际上仅仅注意令人惊奇的和壮观的事物。然而,即使他们观看最壮丽的奇观,眼睛都是懒洋洋的。法庭的记录每天都透露出“目击者”看得多么不准确。某一事件会被几个见证人以几种不同的方式“看见”。有的人比别人看得更多,但没有几个人看见他们视线以内一切事物。

啊,如果给我三天光明,我会看见多少东西啊!

第一天,将会是忙碌的一天。我将把我所有亲爱的朋友都叫来,长久地望着他们的脸,把他们内在美的外部迹像铭刻在我的心中。我也将会把目光停留在一个婴儿的脸上,以便能够捕捉到在生活冲突所致的个人意识尚未建立之前的那种渴望的、天真无邪的美。

我还将看看我的小狗们忠实信赖的眼睛——庄重、宁静的小司格梯、达吉,还有健壮而又懂事的大德恩,以及黑尔格,它们的热情、幼稚而顽皮的友谊,使我获得了很大的安慰。

在忙碌的第一天,我还将观察一下我的房间里简单的小东西,我要看看我脚下的小地毯的温暖颜色,墙壁上的画,将房子变成一个家的那些亲切的小玩意。我的目光将会崇敬地落在我读过的盲文书籍上,然而那些能看的人们所读的印刷字体的书籍,会使我更加感兴趣。在我一生漫长的黑夜里,我读过的和人们读给我听的那些书,已经成为了一座辉煌的巨大灯塔,为我指示出了人生及心灵的最深的航道。

在能看见的第一天下午,我将到森林里进行一次远足,让我的眼睛陶醉在自然界的美丽之中,在几小时内,拼命吸取那经常展现在正常视力人面前的光辉灿烂的广阔奇观。自森林郊游返回的途中,我要走在农庄附近的小路上,以便看看在田野耕作的马(也许我只能看到一台拖拉机),看看紧靠着土地过活的悠然自得的人们,我将为光艳动人的落日奇景而祈祷。

当黄昏降临,我将由于凭借人为的光明看见外物而感到喜悦,当大自然宣告黑暗到来时,人类天才地创造了灯光,来延伸他的视力。在第一个有视觉的夜晚,我将睡不着,心中充满对于这一天的回忆。

这一天,我将向世界,向过去和现在的世界匆忙瞥一眼。我想看看人类进步的奇观,那变化无穷的万古千年。这么多的年代,怎么能被压缩成一天呢?当然是通过博物馆。

有视觉的第二天,我要在黎明起身,去看黑夜变为白昼的动人奇迹。我将怀着敬畏之心,仰望壮丽的曙光全景,与此同时,太阳唤醒了沉睡的大地。

这一天,我将向世界,向过去和现在的世界匆忙瞥一眼。我想看看人类进步的奇观,那变化无穷的万古千年。这么多的年代,怎么能被压缩成一天呢?当然是通过博物馆。我常常参观纽约自然史博物馆,用手摸一摸那里展出的许多展品,但我曾经渴望亲眼看看地球的简史和陈列在那里的地球上的居民——按照自然环境描画的动物和人类,巨大的恐龙和剑齿象的化石,早在人类出现并以他短小的身材和有力的头脑征服动物王国以前,它们就漫游在地球上了;博物馆还逼真地介绍了动物、人类,以及劳动工具的发展经过,人类使用这些工具,在这个行星上为自己创造了安全牢固的家;博物馆还介绍了自然史的其它无数方面。

我不知道,有多少本文的读者看到过那个吸引人的博物馆里所描绘的活着的动物的形形色色的样子。当然,许多人没有这个机会,但是,我相信许多有机会的人却没有利用它。在那里确实是使用你眼睛的好地方。有视觉的你可以在那里度过许多收益不浅的日子,然而我,借助于想像中的能看见的三天,仅能匆匆一瞥而过。

我的下一站将是首都艺术博物馆,因为它正像自然史博物馆显示了世界的物质外观那样,首都艺术博物馆显示了人类精神的无数个小侧面。在整个人类历史阶段,人类对于艺术表现的强烈欲望几乎像对待食物、藏身处,以及生育繁殖一样迫切。在这里,在首都艺术博物馆巨大的展览厅里,埃及、希腊、罗马的精神在它们的艺术中表现出来,展现在我面前。

我通过手清楚地知道了古代尼罗河国度的诸神和女神。我抚摸了巴台农神庙中的复制品,感到了雅典冲锋战士有韵律的美。阿波罗、维纳斯、以及双翼胜利之神莎莫瑞丝都使我爱不释手。荷马的那副多瘤有须的面容对我来说是极其珍贵的,因为他也懂得什么叫失明。我的手依依不舍地留恋罗马及后期的逼真的大理石雕刻,我的手抚摸遍了米开朗基罗的感人的英勇的摩西石雕像,我感知到罗丹的力量,我敬畏哥特人对于木刻的虔诚。这些能够触摸的艺术品对我来讲,是极有意义的,然而,与其说它们是供人触摸的,毋宁说它们是供人观赏的,而我只能猜测那种我看不见的美。我能欣赏希腊花瓶的简朴的线条,但它的那些图案装饰我却看不到。

因此,这一天,给我光明的第二天,我将通过艺术来搜寻人类的灵魂。我会看见那些我凭借触摸所知道的东西。更妙的是,整个壮丽的绘画世界将向我打开,从富有宁静的宗教色彩的意大利早期艺术及至带有狂想风格的现代派艺术。我将细心地观察拉斐尔、达芬奇、提香、伦勃朗的油画。我要饱览维洛内萨的温暖色彩,研究艾尔·格列科的奥秘,从科罗的绘画中重新观察大自然。啊,你们有眼睛的人们竟能欣赏到历代艺术中这么丰富的意味和美!在我对这个艺术神殿的短暂的游览中,我一点儿也不能评论展开在我面前的那个伟大的艺术世界,我将只能得到一个肤浅的印象。艺术家们告诉我,为了达到深刻而真正的艺术鉴赏,一个人必须训练眼睛。一个人必须通过经验学习判断线条、构图、形式和颜色的品质优劣。假如我有视觉从事这么使人着迷的研究,该是多么幸福啊!但是,我听说,对于你们有眼睛的许多人,艺术世界仍是个有待进一步探索的世界。

我十分勉强地离开了首都艺术博物馆,它装纳着美的钥匙。但是,看得见的人们往往并不需要到首都艺术博物馆去寻找这把美的钥匙。同样的钥匙还在较小的博物馆中甚或在小图书馆书架上等待着。但是,在我假想的有视觉的有限时间里,我应当挑选一把钥匙,能在最短的时间内去开启藏有最大宝藏的地方。

我重见光明的第二晚,我要在剧院或电影院里度过。即使现在我也常常出席剧场的各种各样的演出,但是,剧情必须由一位同伴拼写在我手上。然而,我多么想亲眼看看哈姆雷特的迷人的风采,或者穿着伊丽莎白时代鲜艳服饰的生气勃勃的弗尔斯塔夫!我多么想注视哈姆雷特的每一个优雅的动作,注视精神饱满的弗尔斯塔夫的大摇大摆!因为我只能看一场戏,这就使我感到非常为难,因为还有数十幕我想要看的戏剧。

你们有视觉,能看到你们喜爱的任何一幕戏。当你们观看一幕戏剧、一部电影或者任何一个场面时,我不知道,究竟有多少人对于使你们享受它的色彩、优美和动作的视觉的奇迹有所认识,并怀有感激之情呢?由于我生活在一个限于手触的范围里,我不能享受到有节奏的动作美。但我只能模糊地想像一下巴荚洛娃的优美,虽然我知道一点律动的快感,因为我常常能在音乐震动地板时感觉到它的节拍。我能充分想像那有韵律的动作,一定是世界上最令人悦目的一种景象。我用手指抚摸大理石雕像的线条,就能够推断出几分。如果这种静态美都能那么可爱,看到的动态美一定更加令人激动。我最珍贵的回忆之一就是,约瑟·杰佛逊让我在他又说又做地表演他所爱的里卜·万·温克时去摸他的脸庞和双手。

今天,我将在当前的日常世界中度过,到为生活奔忙的人们经常去的地方去,而哪儿能像纽约一样找得到人们那么多的活动和那么多的状况呢?所以城市成了我的目的地。

下一天清晨,我将再一次迎接黎明,急于寻找新的喜悦,因为我相信,对于那些真正看得见的人,每天的黎明一定是一个永远重复的新的美景。依据我虚构的奇迹的期限,这将是我有视觉的第三天,也是最后一天。我将没有时间花费在遗憾和热望中,因为有太多的东西

要去看。第一天,我奉献给了我有生命和无生命的朋友。第二天,向我显示了人与自然的历史。今天,我将在当前的日常世界中度过,到为生活奔忙的人们经常去的地方去,而哪儿能像纽约一样找得到人们那么多的活动和那么多的状况呢?所以城市成了我的目的地。

我从我的家,长岛的佛拉斯特小而安静的郊区出发。这里,环绕着绿色草地、树木和鲜花,有着整洁的小房子,到处是妇女儿童快乐的声音和活动,非常幸福,是城里劳动人民安谧的憩息地。我驱车驶过跨越伊斯特河上的钢制带状桥梁,对人脑的力量和独创性有了一个崭新的印象。忙碌的船只在河中嘎嘎急驶——高速飞驶的小艇,慢悠悠、喷着鼻息的拖船。如果我今后还有看得见的日子,我要用许多时光来眺望这河中令人欢快的景像。我向前眺望,我的前面耸立着纽约——一个仿佛从神话的书页中搬下来的城市的奇异高楼。多么令人敬畏的建筑啊!这些灿烂的教堂塔尖,这些辽阔的石砌钢筑的河堤坡岸——真像诸神为他们自己修建的一般。这幅生动的画面是几百万人民每天生活的一部分。我不知道,有多少人会对它回头投去一瞥?只怕寥寥无几。对这个壮丽的景色,他们视而不见,因为这一切对他们是太熟悉了。

我匆匆赶到那些庞大建筑物之一——帝国大厦的顶端,因为不久以前,我在那里凭借我秘书的眼睛“俯视”过这座城市,我渴望把我的想像同现实作一比较。我相信,展现在我面前的全部景色一定不会令我失望,因为它对我将是另一个世界的景色。此时,我开始周游这座城市。首先,我站在繁华的街角,只看看人,试图凭借对他们的观察去了解一下他们的生活。看到他们的笑颜,我感到快乐;看到他们的严肃的决定,我感到骄傲;看到他们的痛苦,我不禁充满同情。

我沿着第五大街散步。我漫然四顾,眼光并不投向某一特殊目标,而只看看万花筒般五光十色的景像。我确信,那些活动在人群中的妇女的服装色彩一定是一幅绝不会令我厌烦的华丽景色。然而如果我有视觉的话,我也许会像其他大多数妇女一样——对个别服装的时髦式样感到兴趣,而对大量的灿烂色彩不怎么注意。而且,我还确信,我将成为一位习惯难改的橱窗顾客,因为,观赏这些无数精美的陈列品一定是一种眼福。

从第五大街起,我作一番环城游览——到公园大道去,到贫民窟去,到工厂去,到孩子们玩耍的公园去,我还将参观外国人居住区,进行一次不出门的海外旅行。我始终睁大眼睛注视幸福和悲惨的全部景像,以便能够深入调查,进一步了解人们是怎样工作和生活的。

我的心充满了人和物的形象。我的眼睛决不轻易放过一件小事,它争取密切关注它所看到的每一件事物。有些景像令人愉快,使人陶醉;但有些则是极其凄惨,令人伤感。对于后者,我绝不闭上我的双眼,因为它们也是生活的一部分。在它们面前闭上眼睛,就等于关闭了心房,关闭了思想。

我有视觉的第三天即将结束了。也许有很多重要而严肃的事情,需要我利用这剩下的几个小时去看,去做。但是,我担心在最后一个夜晚,我还会再次跑到剧院去,看一场热闹而有趣的戏剧,好领略一下人类心灵中的谐音。

到了午夜,我摆脱盲人苦境的短暂时刻就要结束了,永久的黑夜将再次向我迫近。在那短短的三天,我自然不能看到我想要看到的一切。只有在黑暗再次向我袭来之时,我才感到我丢下了多少东西没有见到。然而,我的内心充满了甜蜜的回忆,使我很少有时间来懊悔。此后,我摸到每一件物品,我的记忆都将鲜明地反映出那件物品是个什么样子。

我的这一番如何度过重见光明的三天的简述,也许与你假设知道自己即将失明而为自己所做的安排不相一致。可是,我相信,假如你真的面临那种厄运,你的目光将会尽量投向以前从未曾见过的事物,并将它们储存在记忆中,为今后漫长的黑夜所用。你将比以往更好地利用自己的眼睛。你所看到的每一件东西,对你都是那么珍贵,你的目光将饱览那出现在你视线之内的每一件物品。然后,你将真正看到,一个美的世界在你面前展开。

失明的我可以给那些看得见的人们一个提示——对那些能够充分利用天赋视觉的人们一个忠告:善用你的眼睛吧,犹如明天你将遭到失明的灾难。同样的方法也可以应用于其它感官。聆听乐曲的妙音,鸟儿的歌唱,管弦乐队的雄浑而铿锵有力的曲调吧,犹如明天你将遭到耳聋的厄运。抚摸每一件你想要抚摸的物品吧,犹如明天你的触觉将会衰退。嗅闻所有鲜花的芳香,品尝每一口佳肴吧,犹如明天你再不能嗅闻品尝。充分利用每一个感官,通过自然给予你的几种接触手段,为世界向你显示的所有愉快而美好的细节而自豪吧!不过,在所有感官中,我相信,视觉一定是最令人赏心悦目的。

20世纪,一个独特的生命个体以其勇敢的方式震撼了世界,她就是海伦·凯勒——一个生活在黑暗中却又给人类带来光明的女性,一个度过了生命的88个春秋,却熬过了87年无光、无声、无语的孤独岁月的弱女子。

然而,正是这么一个幽闭在盲聋哑世界里的人,竟然毕业于哈佛大学德吉利夫学院,并用生命的全部力量处处奔走,创建了一家家慈善机构,为残疾人造福。她不仅用行动证明了

人类战胜生命的勇气,而且还将自己所经历的痛苦和幸福记录下来,给后世以勉励。

海伦·凯勒一生一共写了14部著作。《我的生活》是她的处女作,作者以真实、自然的笔触再现了自己生命之初21年的生活,为世人留下了一首永难遗忘的生命之歌。该书出版于1902年。美国著名作家海尔博士评论说:“1902年文学上最重要的两大贡献是吉卜林的《吉姆》和海伦·凯勒的《我的生活》。”

整整100年,今天当我们重读这部著作时,依然能发现其所闪耀的光芒——人类的精神远远超越了时空的限制。书中人物所展现出的品质、意志、耐力等强烈地震撼着我们,给蒙尘的心灵以洗涤。

四肢健全的人,可能难以体验残疾的痛苦;正如和平年代的某些人,居然希望有战争刺激一样。殊不知,生命是脆弱的,当所有的假设变成现实时,一切已为时太晚,因此,无论是在什么样的年代,爱和勇气都是我们生存的基础,这也正是我们出版此书的目的。

《我的生活》在中国曾经出版过多个优秀的版本,但大多数都已经没有再版了,读者已经很难在书店看到这本书了。此外,海伦·凯勒许多著作也没有翻译成中文出版,人们对她的了解仅仅局限于一些简单的介绍。在综合这些问题的基础上,我们重新编译了这本书,把《我的生活》、《走出黑暗》、《老师》三本书以及发表在美国《大西洋月刊》上的著名散文《假如给我三天光明》进行汇编,完整系统地介绍了海伦·凯勒丰富、生动、真实而伟大的一生。许多文字还是第一次与中国读者见面。

在编译过程中,我们广泛参考了国内已经出版的许多译本,尤其是从著名翻译家朱原先生翻译的《我生活的故事》(中国盲文出版社,1998年第2版)中获益匪浅。

《假如给我三天光明》一文也有许多中文译本,我们选用了刘冬妮翻译的《假如我有三天看得见》(转自《外国散文经典》),原因在于该译文优美流畅,无法超越亦无法割舍。

编译者水平有限,译文错误不当之处,请读者指正。转引译文,无法与译者取得联系,尚望谅解,相关事宜,请与编译者联系。(echolh@sohu.com)

“读一本好书就是与一颗伟大的心灵对话。”我们希望那些激动人心,鼓舞人们上进的作品能够永远流传下去。

Three Days to See

[导读]马克`吐温曾说:“19世纪有两个奇人,一个是拿破伦,一个是海伦•凯勒。” 下面几段摘选自海伦•凯勒(Helen Keller)的自传《假如给我三天光明》,海伦虽然从小失明,但一个生活在黑暗中却是给人类带来光明的女性。 试想一个幽闭的盲聋哑世界里的人,竟然毕业于哈佛大学德克利夫学院,撰写了14部著作,并用生命的全部力量处处奔走,筹建慈善机构,为残疾人造福,被美国《时代周刊》评选为20世纪美国十大英雄偶像。在经历了种种的艰辛与磨难之后,她开始跨越了自己,挣脱出小我的圈子,她的心情逐渐开朗,“我要把别人眼睛所看见的光明当作我的太阳,别人的耳朵听见的音乐当作我的乐曲,别人嘴角的微笑当作我的快乐。”她接受了生命的挑战,她觉得自己获得了自由,内心深处的自由,她不仅仅是为了自己而活,她希望自己能奉献的不仅是几片绿叶,她要给世界整个春天。我们为之感动的不仅是文字本身的优美与真情,你的眼睛渐渐湿润了,因为你感受到的是伟大的心灵。

Most of us, however, take life for granted. We know that one day we must die, but usually we picture that day as far in the future. When we are in buoyant health, death is all but unimaginable. We seldom think of it. The days stretch out in an endless vista. So we go about our petty tasks, hardly aware of our listless attitude toward life.

I have often thought it would be a blessing if each human being were stricken blind and deaf for a few days at some time during his early adult life. Darkness would make him more appreciative of sight; silence would teach him the joys of sound.

Now and then I have tested my seeing friends to discover what they see. Recently I was visited by a very good friend who had just returned from a long walk in the woods, and I asked her what she had observed.. "Nothing in particular,” she replied. I might have been incredulous had I not been accustomed to such reposes, for long ago I became convinced that the seeing see little.

How was it possible, I asked myself, to walk for an hour through the woods and see nothing worthy of note? I who cannot see find hundreds of things to interest me through mere touch. I feel the delicate symmetry of a leaf. I pass my hands lovingly about the smooth skin of a silver birch, or the rough, shaggy bark of a pine. In the spring I touch the branches of trees hopefully in search of a bud the first sign of awakening Nature after her winter's sleep. I feel the delightful, velvety texture of a flower, and discover its remarkable convolutions; and something of the miracle of Nature is revealed to me. Occasionally, if I am very fortunate, I place my hand gently on a small tree and feel the happy quiver of a bird in full song. I am delighted to have the cool waters of a brook rush through my open finger. To me a lush carpet of pine needles or spongy grass is more welcome than the most luxurious Persian rug. To me the pageant of seasons is a thrilling and unending drama, the action of which streams through my finger tips.

Helen Keller: Three Days to See

[注释]

take life for granted: 把生命想当然

buoyant: 有浮力的, 轻快的

unimaginable: 想不到的, 不可思议的

vista: 展望, 回想

listless:倦怠的, 冷漠的,情绪低落的

incredulous:怀疑的, 不轻信的

accustom:使习惯于

symmetry:[] n. 对称, 匀称

silver birch:白桦树

shaggy:表面粗糙的

delightful:令人愉快的, 可喜的

velvety:象天鹅绒的, 柔软的

remarkable:adj.不平常的, 非凡的, 值得注意的, 显著的

convolutions:[] n. 回旋, 盘旋, 卷绕

brook:小溪

lush: 青葱的, 豪华的

luxurious: [] adj. 奢侈的, 豪华的

pageant: 壮观

thrilling: adj.毛骨悚然的, 颤动的, 发抖的,令人振奋的

[参考译文]

但是,我们大多数人把生活认为是理所当然的。我们知道,某一天我们一定会死,但通常我们把那天想象在遥远的将来。当我们心宽体健时,死亡几乎是不可想象的,我们很少想到它。时日在无穷的展望中延展着,于是我们干着琐碎的事情,几乎意识不到我们对生活的倦怠态度。

……

我常常想,如果每个人在他成年的早期有一段时间致瞎致聋,那会是一种幸事,黑暗会使他更珍惜视力,寂静会教导他享受声音。

我不时地询问过我的能看见东西的朋友们,以了解他们看到什么。最近,我的一个很好的朋友来看我,她刚从一片森林里散步许久回来,我问她看到了什么,她答道:“没什么特别的。”如果我不是习惯了听到这种回答,我都可能不相信,因为很久以来我已确信这个情况:能看得见的人却看不到什么。

我独自一人,在林子里散步一小时之久而没有看到任何值得注意的东西,那怎么可能呢?我自己,一个不能看见东西的人,仅仅通过触觉,都发现许许多多令我有兴趣的东西。我感触到一片树叶的完美的对称性。我用手喜爱地抚摸过一株白桦那光潮的树皮,或一棵松树的粗糙树皮。春天,我摸着树干的枝条满怀希望地搜索着嫩芽,那是严冬的沉睡后,大自然苏醒的第一个迹象。我抚摸过花朵那令人愉快的天鹅绒般的质地,感觉到它那奇妙的卷绕,一些大自然奇迹向我展现了。有时,如果我很幸运,我把手轻轻地放在一棵小树上,还能感受到一只高声歌唱的小鸟的愉快颤抖,我十分快乐地让小溪涧的凉水穿过我张开的手指流淌过去。对我来说,一片茂密的地毯式的松针叶或松软而富弹性的草地比最豪华的波斯地毯更受欢迎。对我来说四季的壮观而华丽的展示是一部令人激动的、无穷尽的戏剧。这部戏剧的表演,通过我的手指尖端涌淌出来。

北京web前端培训机构,出来好找工作吗,需要学哪些内容?

大部分人学习一项技术肯定是以就业为目标,那么学习web前端哪些知识才能找到一份工作?小蜗这里根据行业的变化以及企业的用人需求,整理了一份web前端的学习路线,只要掌握了以下内容,找到一份工作基本不难。

第一阶段:专业核心基础

阶段目标:

1. 熟练掌握HTML5、CSS3、Less、Sass、响应书布局、移动端开发。

2. 熟练运用HTML+CSS特性完成页面布局。

4. 熟练应用CSS3技术,动画、弹性盒模型设计。

5. 熟练完成移动端页面的设计。

6. 熟练运用所学知识仿制任意Web网站。

7. 能综合运用所学知识完成网页设计实战。

知识点:

1、Web前端开发环境,HTML常用标签,表单元素,Table布局,CSS样式表,DIV+CSS布局。熟练运用HTML和CSS样式属性完成页面的布局和美化,能够仿制任意网站的前端页面实现。

2、CSS3选择器、伪类、过渡、变换、动画、字体图标、弹性盒模型、响应式布局、移动端。熟练运用CSS3来开发网页、熟练开发移动端,整理网页开发技巧。

3、预编译css技术:less、sass基础知识、以及插件的运用、BootStrap源码分析。能够熟练使用 less、sass完成项目开发,深入了解BootStrap。

4、使用HTML、CSS、LESS、SASS等技术完成网页项目实战。通过项目掌握第一阶段html、css的内容、完成PC端页面设计和移动端页面设计。

第二阶段:Web后台技术

阶段目标:

1. 了解JavaScript的发展历史、掌握Node环境搭建及npm使用。

2. 熟练掌握JavaScript的基本数据类型和变量的概念。

3. 熟练掌握JavaScript中的运算符使用。

4. 深入理解分之结构语句和循环语句。

5. 熟练使用数组来完成各种练习。

6.熟悉es6的语法、熟练掌握JavaScript面向对象编程。

7.DOM和BOM实战练习和H5新特性和协议的学习。

知识点:

1、软件开发流程、算法、变量、数据类型、分之语句、循环语句、数组和函数。熟练运用JavaScript的知识完成各种练习。

2、JavaScript面向对象基础、异常处理机制、常见对象api,js的兼容性、ES6新特性。熟练掌握JavaScript面向对象的开发以及掌握es6中的重要内容。

3、BOM操作和DOM操作。熟练使用BOM的各种对象、熟练操作DOM的对象。

4、h5相关api、canvas、ajax、数据模拟、touch事件、mockjs。熟练使用所学知识来完成网站项目开发。

第三阶段:数据库和框架实战

阶段目标:

1. 综合运用Web前端技术进行页面布局与美化。

2. 综合运用Web前端开发框架进行Web系统开发。

3. 熟练掌握Mysql、Mongodb数据库的发开。

4. 熟练掌握vue.js、webpack、elementui等前端框技术。

5. 熟练运用Node.js开发后台应用程序。

6. 对Restful,Ajax,JSON,开发过程有深入的理解,掌握git的基本技能。

知识点:

1、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,mongodb数据库。深入理解数据库管理系统通用知识及MySQL数据库的使用与管理,为Node.js后台开发打下坚实基础。

2、模块系统,函数,路由,全局对象,文件系统,请求处理,Web模块,Express框架,MySQL数据库处理,RestfulAPI,文件上传等。熟练运用Node.js运行环境和后台开发框架完成Web系统的后台开发。

3、vue的组件、生命周期、路由、组件、前端工程化、webpack、elementui框架。Vue.js框架的基本使用有清晰的理解,能够运用Vue.js完成基础前端开发、熟练运用Vue.js框架的高级功能完成Web前端开发和组件开发,对MVVM模式有深刻理解。

4、需求分析,数据库设计,后台开发,使用vue、node完成pc和移动端整站开发。于Node.js+Vue.js+Webpack+Mysql+Mongodb+Git,实现整站项目完整功能并上线发布。

第四阶段:移动端和微信实战

阶段目标:

1.熟练掌握React.js框架,熟练使用React.js完成开发。

2.掌握移动端开发原理,理解原生开发和混合开发。

3.熟练使用react-native和Flutter框架完成移动端开发。

4.掌握微信小程序以及了解支付宝小程序的开发。

5.完成大型电商项目开发。

知识点:

1、React面向组件编程、表单数据、组件通信、监听、声明周期、路由、Redux基本概念。练使用react完成项目开发、掌握Redux中的异步解决方案Saga。

2、react-native、开发工具、视图与渲染、api操作、Flutter环境搭建、路由、ListView组件、网络请求、打包。练掌握react-native和Flutter框架,并分别使用react-native和Flutter分别能开发移动端项目。

3、微信小程序基本介绍、开发工具、视图与渲染、api操作、支付宝小程序的入门和api学习。掌握微信小程序开发了解支付宝小程序。

4、大型购物网站实战,整个项目前后端分离开发;整个项目分为四部分:PC端网页、移动端APP、小程序、后台管理。团队协作开发,使用git进行版本控制。目期间可以扩展Three.js 、TypeScript。

web前端学习路线思维导图


当前名称:flutter优劣,flutter好用吗
文章URL:http://lswzjz.com/article/dseicji.html