What is the Future of Front End Web Development?

I was asked to do a little session on this the other day. I'd say I'm underqualified to answer the question, as is any single person. If you really needed hard answers to this question, you'd probably look to aggregate data of survey results from lots of developers.

I am a little qualified though. Aside from running this site which requires me to think about front end development every day and exposes me to lots of conversations about front end development, I am an active developer myself. I work on CodePen, which is quite a hive of front end developers. I also talk about it every week on ShopTalk Show with a wide variety of guests, and I get to travel all around going to conferences largely focused on front end development.

So let me take a stab at it.

Again, disclaimers:

  1. This is non-comprehensive
  2. These are just loose guesses
  3. I'm just one dude

#User expectations on the rise.

This sets the stage:

What websites are being asked to do is rising. Developers are being asked to build very complicated things very quickly and have them work very well and very fast.

#New JavaScript is here.

As fabulous as jQuery was for us, it's over for new development. And I don't just mean ES6+ has us covered now, but that's true. We got ourselves into trouble by working with the DOM too directly and treating it like like a state store. As I opened with, user expectations, and thus complexity, are on the rise. We need to manage that complexity.

State

is the big concept, as

we talked about. Websites will be built by thinking of what state needs to be managed, then building the right stores for that state.

The new frameworks are here. Ember, React, Vue, Angular, Svelte, whatever. They accommodate the idea of working with state, components, and handling the DOM for us.

Now they can compete on speed, features, and API niceity.

TypeScript also seems like a long-term winner because it can work with whatever and brings stability and a better editor experience for developers.

#We're not building pages, we're building systems.

Style guides. Design systems. Pattern libraries. These things are becoming a standard part of the process for web projects. They will probably become the main deliverable. A system can build whatever is needed. The concept of "pages" is going away. Components are pieced together to build what users see. That piecing together can be done by UX folks, interaction designers, even marketing.

New JavaScript accommodates this very well.

#The line between native and web is blurring.

Which is better, Sketch or Figma? We judge them by their features, not by the fact that one is a native app and one is a web app. Should I use the Slack or TweetDeck native app, or just open a tab? It's identical either way. Sometimes a web app is so good, I wish it was native just so it could be an icon in my dock and have persistent login, so I use things like Mailplane for Gmail and Paws for Trello.

I regularly use apps that seem like they would

need

to be native apps, but turn to be just as good or better on the web. Just looking at audio/video apps, Skype has a full-featured app, Lightstream is a full-on livestreaming studio, and Zencaster can record multi-track high-quality audio. All of those are right in the browser.

Those are just examples of

doing a good job

on the web. Web technology itself is stepping up hugely here as well. Service workers give us important things like offline ability and push notifications. Web Audio API. Web Payments API. The web should become the dominant platform for building apps.

Users will use things that are good, and not consider or care how it was built.

#URLs are still a killer feature.

The web really got this one right. Having a universal way to jump right to looking at a specific thing is incredible. URLs make search engines possible, potentially one of the most important human innovations ever. URLs makes sharing and bookmarking possible. URLs are a level playing field for marketing. Anybody can visit a URL, there is no gatekeeper.

#Performance is a key player.

Tolerance for poorly performing websites is going to go down. Everyone will expect everything to be near-instant. Sites that aren't will be embarrassing.

#CSS will get much more modular.

When we write styles, we will always make a choice. Is this a global style? Am I, on purpose, leaking this style across the entire site? Or, am I writing CSS that is specific to this component? CSS will be split in half between these two. Component-specific styles will be scoped and bundled with the component and used as needed.

#CSS preprocessing will slowly fade away.

Many of the killer features of preprocessors have already made it into CSS (variables), or can be handled better by more advanced build processes (imports). The tools that we'll ultimately use to modularize and scope our CSS are still, in a sense, CSS preprocessors, so they may take over the job of whatever is left of preprocessing necessity. Of the standard set of current preprocessors, I would think the main one we will miss is mixins. If native CSS stepped up to implement mixins (maybe @apply) and extends (maybe @extend), that would quicken the deprecation of today's crop of preprocessors.

#Being good at HTML and CSS remains vital.

The way HTML is constructed and how it ends up in the DOM will continue to change. But you'll still need to know what good HTML looks like. You'll need to know how to structure HTML in such a way that is useful for you, accessible for users, and accomodating to styling.

The way CSS lands in the browser and how it is applied will continue to change, but you'll still need to how to use it. You'll need to know how to accomplish layouts, manage spacing, adjust typography, and be tasteful, as we always have.

#Build processes will get competitive.

Because performance matters so much and there is so much opportunity to get clever with performance, we'll see innovation in getting our code bases to production. Tools like webpack (tree shaking, code splitting) are already doing a lot here, but there is plenty of room to let automated tools work magic on how our code ultimately gets shipped to browsers. Optimizing first payloads. Shipping assets in order of how critical they are. Deciding what gets sent where and how. Shipping nothing whatsoever that isn't used.

As the web platform evolves (e.g. Client Hints), build processes will adjust and best practices will evolve with it, like they always have.

from https://css-tricks.com/future-front-end-web-development/?utm_source=mybridge&utm_medium=web&utm_campaign=read_more

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市都哭,隨后出現(xiàn)的幾起案子秩伞,更是在濱河造成了極大的恐慌逞带,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纱新,死亡現(xiàn)場離奇詭異展氓,居然都是意外死亡,警方通過查閱死者的電腦和手機脸爱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門遇汞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人簿废,你說我怎么就攤上這事空入。” “怎么了族檬?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵歪赢,是天一觀的道長。 經(jīng)常有香客問我单料,道長埋凯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任扫尖,我火速辦了婚禮白对,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘换怖。我一直安慰自己甩恼,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布沉颂。 她就那樣靜靜地躺著媳拴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪兆览。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天塞关,我揣著相機與錄音抬探,去河邊找鬼。 笑死帆赢,一個胖子當(dāng)著我的面吹牛小压,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播椰于,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼怠益,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瘾婿?” 一聲冷哼從身側(cè)響起蜻牢,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤烤咧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后抢呆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體煮嫌,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年抱虐,在試婚紗的時候發(fā)現(xiàn)自己被綠了昌阿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡恳邀,死狀恐怖懦冰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谣沸,我是刑警寧澤刷钢,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鳄抒,受9級特大地震影響闯捎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜许溅,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一瓤鼻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贤重,春花似錦茬祷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至滚停,卻和暖如春沃粗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背键畴。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工侨嘀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留迁客,地道東北人碧库。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓堪夭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惹想。 傳聞我的和親對象是個殘疾皇子问词,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 9,497評論 0 23
  • 謊言一:每件事情都很重要 待辦事項清單會限制我們做事情的輕重緩急,雖然可以幫助我們清理頭緒嘀粱,但也許會成為成功路上的...
    踏雁尋花閱讀 355評論 0 0
  • 最近讀了一本書《這樣讀書就夠了:拆書幫職場能力提升課》激挪。 總結(jié)一下書里的精華辰狡,工欲善其事,必先利其器灌灾,總結(jié)一本教我...
    知魚君閱讀 234評論 0 0
  • 折了幾枝桂花 把其養(yǎng)在清水瓶里 讓它的清香在家輕輕飄回 家是我們身心棲息地 不僅要有熱氣騰騰的煙火果腹 還應(yīng)有花香...
    陳糊涂閱讀 291評論 0 2
  • 感謝老師分享搓译,讓我怎樣去發(fā)朋友圈怎樣和朋友圈的人互動點贊。賣產(chǎn)品首先賣人品人品更重要锋喜。用心發(fā)圈真心對待別人些己。別人用...
    燕兒321閱讀 216評論 0 0