188金宝搏苹果版下载_188金宝慱官网_188金宝搏 ios下载
188金宝搏苹果版下载

万年青,前端开发沦亡,吃饺子

admin admin ⋅ 2019-03-28 14:42:13

前端用于收集输入信息,后端进行数据处理,本是两项能够彻底独立的模块,跟着带有“统一天下”愿景的 Java 到来,前后端呈现交融,故而招引不少后端开发者开端向前端转型。

但颇让人头疼的是,前端开发也并非幻想中那么简略,后端开发者的盲目参加,不只形成了前后端技能的混战,也使得前端开端逐步变得后端化。

作者 | Mike Taylor

译者 | 安翔

责编 | 屠敏

出品 | CSDN(ID:CSDNNews)

以下为译万年青,前端开发消亡,吃饺子文:

单页运用(SPA)的异步 Java 大大改进了 Web 运用的用户体会。相似 Bootstrap 这样的 CSS 结构让开发人员如虎添翼。

可是,不幸的是,与传统的 HTML、CSS、JS 相别离的办法比较,SPA 和 CSS 结构的结合运用,与过往的开发经历各走各路,由于其只会让作业变得杂乱。

这种混合办法不管是关于开发新手仍是编程专家(例如视觉规划、可拜访性、查找引擎优化和国际化)来说都不是功德,开发者很难对项目做出有含义的奉献。

这样一来,除了增加开发人员的本钱之外,它还或许对实践事务形成晦气影响。

看似节省的技能决议计划,跟着保护性问题的不断呈现,终究或许会发生更多的本钱。

形成这种状况的其间一个原因在于,许多前端开发者是从传统后端开发人员转行过来的,从效劳器端转到客户端。为了补偿自己在前端范畴的缺陷,这些新人凭借大abp647量现成的三分东西和结构,这种做法的确对他们本身有利,但对整个开发项目组来说并非功德。

假如需求利罗德西亚背脊犬用 CSS 结构的初期长处,那么你最好不要彻底将其运用到你的程序中。相罗永浩的父亲罗昌珍反,只将它们用到某些特定事务上,并将其作为 CSS 结构的装修器运用。

关于 SPA 结构,主张选用强制别离各部件的编程实践。尽管这能够通过 React 完结,但 Vue.js 供给了一种更好的办法来完结这一方针,这能够让新手前端人员与传统的前端开发人员更好协作。

前语

2014年,我在不列颠哥伦比亚理工学院(BCIT)参加了一个 Web 规划项目。项目完结之后,我被校园招募来从事在线学习作业。当他们告诉我将运用 Twitter 的 CSS 结构 Bootstrap 时,我十分振奋。

不久之后,振奋就消失了。在运用它一段时刻之后,我真的很想知道 Bootstrap 存在的含义是什么。各种奥秘的 class 称号和乱用的 div 标签好像把一切万年青,前端开发消亡,吃饺子逻辑都填充到了 HTML 中。很快,投诉开端呈现。

咱们是一个技能学院,但咱们的部分的意图是便利教师。咱们团队制造的在线课程终究是为了便利非技能身世的教师,这些教师身世商业、媒体、护理、修建等各个范畴。假如这些教师弄不理解,他们就会致电技能支撑部分。假如技能支撑部分无法处理这个问题,那么这项扎手的作业将会从头回到我的手上。

这是灾难性的,由于咱们一切人都面对人员缺乏的问题。没有满足的人员来支撑教师,教师们在学期开端之前无法学习课程,咱们团队成了整个作业的瓶颈地点。

这些结构娇妻太撩人宣扬的轻松和简略的优势招引了咱们,但现实证明这些优势都是相对的。对咱们来说,Bootstrap 弊大于利,其保护起来十分费力。

通过几个月的挣扎之后,团队开端着眼于创立一个真实简略的自定义结构。该处理计划运用特定于在线学习的术语,而且运用超级洁净的代码规划。

由此发生的产品变得十分受欢迎,尽管今日依然存在一些小问题。除了保护作业变得轻松之外,它还提高了整个在线课程生命周期的质量和功率。

最重要的是,咱们团队不再是影响整件作业的瓶颈。

从那以后,我对前端东西及其猖狂的分散变得愈加警觉。我倾向于以为咱们部分缺少技能深度或许让咱们张秋芳和新老公相片能够比正常状况更快地发现固有问题。我忧虑的是,这些东西是为了实施者而不是整个安排的利益而选用的。这让我很困惑:

许多现代前端东西和实践是假装的技能债款吗?

布景

在从事 Web 开发之前,我拿到了营销办理创业文凭并参加了一些 欧美3dBBA 课程。我特别感兴趣的是产品办理、安排行为、运营办理。

我的观念或许会引起争议。请尊重这样一个现实,这仅仅一种从整个安排的更广泛视点评价相对狭窄的技能决议计划。这些主意是否与你相关将在很大程度上取决于你详细的事务状况。

前史

异步 Java

2005年,谷歌推出谷歌地图,震动全球。只需拖动屏幕,整个国际便会如戏法一般呈现在你眼前。

关于许多人来说,这是他们第一次感遭到 AJAX 的强壮力气。它是“ 杀手级运用程序 ”,客户端运用程序有或许供给很多杰出的用户体会。这是咱们今日能够迈向现代单页运用程序(SPA)的重要一步。

CSS 结构

2011年,Twitter 发布了 Bootstrap。Bootstrap 是第一个被广泛选用的 CSS 结构”,它适用于各种水平的前端开发者。一经推出,它大大下降冯莫缇歌曲了前端开发作业的难度。突然之间,编写效劳器端页面模板的后端开发人员都能够操作 class 和元素,而且不需求 CSS。有了 Bootstrap,后端开发人员好像具有了传统前端开发者的才能。

症状

好像这一部分内容现已引起了一些读者的恶感。假如你发现自己不同意本节中的主张,那我主张你直接越过,去阅览“处理计划”部分的内容。

Div soup

现在,CSS 结构简直无处不在。Bootstrap 好像现已占有了登峰造极的位置,而且得到了 ZURB 基万年青,前端开发消亡,吃饺子金会和谷歌 Material Design 的大力支撑。此外,对 Tailwinds 这样的可组合结构的支撑越来越多,这些结构宣称能够防止其他一切结构的问题。

SPA 结构比 CSS 结构更具波动性。在谷歌的 Angular 呈现之前,Backbone、Knockout 和 Ember 占有了登峰造极的位置。其他结构层出不穷,但没有一个真实供给了很大的价值。

然后,Facebook 推出了 React,React上海普天智绿新能源技能有限公司 中心思维是组件和快速的虚拟 DOM。前端开发就像建立乐高积木相同。

在你翻开开发者东西之前,这一切都很好。翻开之后,你会面对一堆乱七八糟的“ div soup”。

成功的仅有要素是严峻依靠杂乱的组件,有效地笼统出一切细节。不幸的是,这些根据组件的体系结构的杂乱性也使得看似无害的快捷办法(如硬编码规矩)直接进入运用程序。

组件混合

当向 HTML 标签增加6、7个躲藏类称号的“款式”时,我以为咱们现已迈出了巨大的一步。咱们安全地逾越了表格布局,但仅仅运用了内联款式。

提到这雷泫生的微博一点,现在活跃鼓舞开发人员将 CSS 特点直接注入 HTML 款式特点。更糟糕的是,这些标签现在散落着三元表达式和地图功用,迫使开发人员在 HTML 和 Java 之间来回重复。关于那些在曩昔几年内开端萧蔷春光外泄从事 Web 开发的人来说,需求理解这一点。

我喜爱这条推文,但他们的比如没有任何表达规矩,这些规矩对 React 项目更具感染力。将 Bootstrap 增加到项目中,只会弄得一团糟。

问题

难以捉摸的全栈开发者

2014年,前端开发人员薪酬不比后端开发人员。5年之后,前端人员简直都是全栈工程师了。

你或许现已注意到,职务描绘中所需的技能项已呈指数级增加。团队的高手被很多挖走,你想要的提名人又挑选了其他薪酬更高、福利更好、作业安排更灵敏的公司。

不要误解我的意思,我觉得整体来说这是功德,但关于那些小企业来说的确招人变得困难。

缺少专业知识

多面手实践上并不存在。作为一名多面手,感觉自己什么都会,实践上或许什么都不通晓。尽管通才会在你的事务中占有一席之地,但不或许一个人做完一切作业。

当你团队中的每个开发人员都是“Java 多面手”时,你实践上会让自己暴露在盲点之下。毫无疑问,各个运用程序都充溢着欠好的比如

“谁关怀细节,横竖程序运转正常。”尽管它或许适用于正常人,但那些依靠辅佐技能的人将彻底无法拜访你的部分运用程序。

预先辅佐功用(A11Y)通常会带来更好的用户体会,因而,假如你在这里走捷径,那么很或许会出问题。

假如你没有被逼迫,那么或许你的首要动力源于金钱。你真的应该考虑 A11Y 所带来的经济危险,不管是失掉商业机会仍是或许面对诉讼的要挟。

灵敏性的丢掉

像 Bootstrap 和 React 这样的结构很招引人,由于在项目初期能够极大地提高开发速度。Bootstrap 通常被以为是一种优异的原型规划东西。可是,原型制造东西的低保真度无法运用到终究的产品中。

尽管 “bootstrap” 这个词意味着运用有限的资源。在“快速而廉价”的形式中,不管是否是你的原意,你自可是然地挑选了快速而廉价。换句话说,你挑选出资了一种充溢技能债款的产品。

你开端重构项目,首要调整 Bootstrap 无穷无尽的变量列表。此外,你真实想要的深度定制触及构建杂乱的 CSS 特性,以掩盖 Bootstrap 对挑选器的自在运用。

你想要修正布局,可是你发现每个组件都运用 col 类进行了硬编码。可悲的是,每个元素都因各种屏幕分辨率而不同。想要修正一处需求先修正其他五处。

它不会那么糟糕,除非每个改变都需求深化到不行读的结构成为悟空师弟的日子、款式和行为代码的蜘蛛网中,这些代码塞进了无限切割的根据组件的体系结构中每个文件底部的烘托函数。假如你的方针是短期收买,你或许不在乎。但请记住,技能的灵敏性便是出产力。

问题所带来的影响

在暴升的劳动力本钱、诉讼危险、扔掉商机、有限的客户获取之间,看似微乎其微乃至是正确的技能决议计划会真真切切地影响事务。

关于一些从事某些类型运用程序的安排,我评论的一切内容都或许彻底遭到操控。可是,从事其他类型运用程序的其他安排或许会盲目地走向长时刻许诺,而且需求进行令人十分心累的保护。

请记住,比较开发阶段,软件的大部分时刻都处于保护阶段。快速查找找到了以下保护本钱分配的经历规律:

以下是10年期间20%年度保护的100美元初始开发费用:

如你所见,保护费用仅用了5年就超过了开发阶段。它跨过了7到8年间60%的总本钱。

可是,这是一种简化。开发或许在运用程序的整个生命周期中继续,项目越大,保护就越难。从长远来看,短期方针或许导致长时刻结果,这种结果只会跟着时刻的推移而杂乱化。

我也想知道如何将这些不行保护的项目扫除在这些规矩之外,由于保护本钱变得如此之高,项目被简略地扔掉为失利。

根本原因

我相信从效劳器端到客户端运用程序的严重改变将很多有才调的开发人员从后端面向了前端。这些程序员具有不同的长处和缺陷,开端改变前端开发的办法,以习惯他们自己的需求和偏好。

你会注意到该图中的“空中报价”的自在运用,而且有充沛的理由。“高技能”与其他开发陆兆海人员引进前端东西的才能相关。“杂乱性”与正在处理的问霍耿题有关。“低技能”与现在出产中运用的东西的杂乱性有关。

能够合理地假定“高技能”开发人员正在引进东西韩奉财来增强他们前端开发技能的缺乏,而不是加强整个安排的才能。例如,运用 CSS 结构取得最大收益的人是最不能保护 CSS 的人。

我在 Bootstrap 支撑者中听到的一个一起主题是“创立一个美观的作业原型是多么简略”。相同,React 的支撑者会说“ 我喜爱我永久不用脱离 Java ”。

假如这些情万年青,前端开发消亡,吃饺子况在你的安排中很常见,那么你的技能仓库或许是环绕更多传统后端开发人员的需求而规划的,仅仅这些开发人员刚好从事前混血萝莉端作业。

我从前目击了关于基础设施处理计划的剧烈争辩,其间一方指出:“这使得简略的使命变得愈加困难,以便使琐碎的使命变得愈加简略

当我看到咱们团队企图运用 Bootstrap 和其他代替计划时,我以为这不是有必要的。对我来说,他们企图运用一种蠢笨的处理计划来躲避文h一个微乎其微的问题。关于这些东西的支撑者,他们为看似严峻的应战供给了处理计划。

处理计划

处理 CSS 结构

为了削减对 Bootstrap 等结构的依靠,我的主张是中止将特定于结构的类直接运用于 HTML。相反,我会鼓舞以下做法:

%our-warning-button {

@extend .btn;

@extend .btn-warning;

}

.empty-shopping-cart-button {

@extend %our-warning-button;

} 健美祖母

这种办法有助于将运用程序与 CSS 结构别离,将它们视为你自己的内部 C汇包网SS 结构的“装修器”。你现在能够轻松地交流结构,掩盖款式,乃至能够翻滚自己的代码而不会影响前期速度。

会集款式的才能意味着 UI 规划人员能够在不运用迷宫组件的状况下处理 CSS。运用范畴特定言语还能够与整个安排内的非技能团队成员和利益相关者进行更好的交流。

最终(也是最重要的),你现在能够清楚地别离结构和风格之间的关注点。

处理 SPA 结构

这或许是有争议的,但我主张从 React 切换到 Vue.js,这便是为什么:

<>

你在这里看到的是 Vue 的“ 单个文件组件 ”,它鼓舞别离。我十分喜爱 Vue(以及他们对精约的一般许诺)。

我以为运用 Vue 有一个夏天树莓蛋糕配方令人难以置信的强壮商业事例,由于它下降了非Java 开发人员换岗和奉献的妨碍。除了他们的专业知识的价值,他们还将开释你的多面手在其他发挥巨大作用。

不要误解我的意思,Vue 具有像 React 这样的结构的一切特征。它十分灵敏,能够让你创造出任何你喜爱的。相似地,React 能够以这样一种办法完结,即它开端变得愈加和蔼可亲(尽管远不到 Vue 的程度)。

总的来说,我的主张仅仅选用强制别离的编码实践。我会说:简化为一套简略的规矩:

以大将代码库划分为智能和愚笨的组件(https://alligator.io/react/smart-dumb-components/)应该使你的 HTML 逻万年青,前端开发消亡,吃饺子辑和款式免费。它或许会消除一些捷径,能够补偿前期本钱,并具有杰出的长时刻可保护性。

原文:https://hackernoon.com/the-backendification-of-frontend-development-62f218a773d4

本文为 CSDN 翻译,如需转载,请注明来历出处。

"点个美观吧!");

"点个美观吧!");

print("点个美观吧!");

printf("点个美观吧!n");

cout << "点个美观吧!"<< endl;

"点个美观吧!");

"点个美观吧!");

alert("点个美观吧!")

echo "点个美观吧!"

规划 万年青,前端开发消亡,吃饺子 开发 技能
万年青,前端开发消亡,吃饺子 声明:该文观念仅代表作者自己,搜狐号系信息发布渠道,搜狐仅供给信息存储空间效劳。

相关新闻

admin

admin

TA太懒了...暂时没有任何简介

精彩新闻