前端每周清單第 30 期:WebVR 指南,Vue 代碼分割范式,理想的 React 架構特性

前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點;分為新聞熱點、開發教程、工程實踐、深度閱讀、開源項目、巔峰人生等欄目。歡迎關注【前端之巔】微信公眾號(ID:frontshow),及時獲取前端每周清單。

新聞熱點

國內國外,前端最新動態

  • Chrome 61 新特性介紹:Chrome 61 中即將原生地支持 JavaScript 模塊,意味著開發者可以不用 Babel 等轉換器即直接在瀏覽器中運行模塊化代碼。除此之外,Chrome 61 還允許開發者使用 navigator.share 來觸發 Android 原生的分享對話框,并且引入了 WebUSB 接口來訪問受信的 USB 設備;更多特性介紹請查看原文。

  • Yarn 1.0 發布:著名的 JavaScript 包管理器 Yarn 終于發布了其 1.0 版本,目前已經有超過 175000 個 Github 上的項目包含了 yarn.lock 文件,每個月有超過三十億的下載量。在新版本中,Yarn 引入了工作空間、自動合并 lockfiles、可選擇的版本解決等特性,并且進行了其他一系列的性能提升與錯誤修復等工作。

  • Meteor 15.2 發布:經過超 40 個 Pull Request 的請求合并之后,Meteor 發布了 1.5.2 版本;新版本中放棄了對于 MongoDB 2.4 版本的支持,修復了 Node.js 垃圾回收的 Bug,引入了一系列的新特性,詳情請查看原文。

  • 百度與 W3C 中國聯合組織移動網頁加速技術研討會:2017年8月30日,百度聯合W3C中國在北京中關村軟件園國際會議中心主辦了“移動網頁加速技術研討會”,W3C中國以及騰訊、阿里巴巴及UC、搜狗、小米、傲游、中國移動、中國電信、DCloud、聽云等W3C中國區會員及廠商代表積極參與了本次研討會。本次研討會探討了百度MIP(Mobile Instant Pages)技術以及類似技術(如:Google AMP、Facebook Instant Article、騰訊云加速)涉及到的標準化問題,即如何讓一個頁面被內容分發平臺即時展現渲染,從而以更快的加載速度和更友好的展現交互方式來提升用戶在內容分發平臺上的瀏覽體驗。研討會探討了使用Pre-fetch/Pre-render page、Async open page、CDN服務來實現這類服務的可能性。

開發教程

步步為營,掌握基礎技能

  • 面向 Web 開發者的 VR 指南:近日來,越來越多的瀏覽器添加了對于 VR 特性的支持,本文即是盤點下目前瀏覽器中 VR 技術發展的現狀,并且對可用的 WebVR 相關 API 進行簡要介紹。本文首先介紹了 VR 以及 WebVR 的基礎概念,列舉了 WebVR 目前的瀏覽器以及設備的支持情況,然后分析了 WebVR 的發展趨勢與潛在機會;更多 WebVR 相關資料參考這里。

  • 基于 Vue.js 與 Webpack 的三種代碼分割范式:代碼分割是提升單頁應用初始加載速度的重要方式之一,其能有效提升用戶體驗;本文則著眼于介紹 Vue.js 應用開發中常見的三種代碼分割方式,分別是按照頁面切分、按照頁面的可見區域折疊切分以及按條件加載。更多 Vue.js 相關資料參考這里。

  • 利用 Flow 與 Recompose 編寫高階組件:高階組件是 React 應用開發中典型的設計模式之一,我們常常會利用 Recompose 庫來實踐高階組件;另一方面,Flow 靜態類型檢測工具能夠有效提升應用的魯棒性,本文即是介紹如何在開發中協同使用 Flow 與 Recompose,編寫具有靜態類型的高階組件。本文依次介紹了如何從 Recompose 中引入類型聲明、如何為類組件添加類型聲明、如何編寫高階函數等內容;更多 React 相關資料參考這里。

  • Node.js 中 async_hooks 圖解:async_hooks 是 Node.js 8 中引入的實驗性接口,其允許開發者依賴 init、before、after、destroy 四個回調函數監控異步資源的執行情況。本文則是以手繪圖形象地介紹 async_hooks 的工作原理與運行機制;更多 Node.js 相關資料參考這里

  • 如何在 Chrome DevTools 中調試 JavaScript:Chrome DevTools 是非常強大的調試工具,本文著眼于介紹如何使用 Chrome DevTools 來添加斷點并且單步執行 JavaScript 代碼,從而幫助開發者更有效地定位到錯誤點。本文首先介紹了測試用例以及如何重現錯誤,然后依次闡述了添加斷點、單步調試、檢查當前值、修復錯誤并重新保存等內容;更多 Web 調試相關資料參考這里。

工程實踐

立足實踐,提示實際水平

  • TypeScript 與 Webpack 的激情碰撞:本文是 ts-loader 的核心維護者之一,分享的多個能提升 Webpack 中 TypeScript 使用體驗的插件。fork-ts-checker-webpack-plugin 能夠利用子進程來進行類型校驗,HappyPack 則允許并發處理多個文件從而提升 Webpack 的編譯速度,thread-loader 與 cache-loader 還能進一步提升編譯速度;更多 Webpack 相關資料參考 https://parg.co/bVs 。

  • 理想的 React 架構應該具備的特征:React 本身并不是某種應用架構,它只是 MVC 架構中的視圖層;本質上只是擁有內部組件生命周期的單向數據綁定的視圖庫。本文則是作者分享的自己實踐中總結出的 React 應用架構特征:控制器與模型層不應該直接被 React 組件表示、Props 盡可能少地在深層組件間傳遞、盡可能地使用不可變數據以減少計算壓力;更多 React 相關資料參考這里。

  • 來自 HousingEngg 的 React Native 實踐分享:HousingEngg 去年開始 PWA 化應用以來,極大地提升了用戶體驗;而在進行移動端應用開發的技術選型時,為了盡可能地完成代碼復用,決定用 React Native 進行開發。本文首先介紹了開發目標與 React Native 相關技術棧選型,包括 react-navigation、redux-observable、ramda、redux-persist 等;然后介紹了 storybook、fastlane、detox、sentry 等常用的工具,最后分享了些開發過程中遇到的坑以及構建流程的搭建。更多 React Native 相關資料參考這里。

  • 利用 requestAnimationFrame 優化動作性能:requestAnimationFrame 為我們提供了相對底層的接口,本文則是對于 requestAnimationFrame 的深度解析。本文首先介紹了 requestAnimationFrame 的基礎用法與運行機制,然后介紹了其在 Easing 動畫、SVG 繪制、定時器方面的應用;更多 Web 動畫相關資料參考這里。

深度閱讀

深度思考,升華開發智慧

  • car2go 的前端框架選擇:本文是 car2go 的工程師分享的他們在前端框架選擇時候的考量;今年組建新的前端開發團隊時,需要根據團隊內成員不同的經驗、背景、編程傾向與技能來進行選擇。技術選型主要從文檔、項目的維護者的投入、StackOverflow 等常見平臺的問題豐富度、工具鏈的完善程度、插件或者擴展的數量、Web 技術標準、上手難易程度、代碼風格、API 設計、可擴展性等方面進行考慮,最終的候選者是 React 與 Vue.js;不過因為 Vue.js 更加完善的文檔,最終勝出。

  • 面向創業者與 CTO 的 React 開源協議解析:本文是 Facebook 前工程師,后來的創業者對于近日沸沸揚揚的 React BSD + 專利協議的個人解釋,希望能夠幫助更多的人理解 Facebook 設置該協議的初衷,以及對于使用者的潛在影響。本文首先介紹了 2012 年雅虎對于 Facebook 的專利訴訟及其應對方式,然后分析了該事件對于 Facebook 專利戰略的啟示;筆者認為 Facebook 設置該協議更多的是處于防衛考慮,避免受到惡意的專利訴訟。不過對于那些潛在的可能和 Facebook 進行直接競爭的創業公司,還是需要慎重地使用 React 等系列框架。

  • 10 個常見的軟件架構概述:很多人都會好奇大型商業系統的設計是如何進行的,實際上在大型軟件開發啟動之前,我們都會選擇合適的能夠提供想要的功能與高性能的特性的架構;本文則是介紹軟件設計中常見的十種架構,對比了其使用場景、優勢與劣勢。本文依次介紹了分層模式、客戶端-服務器模式、主從模式、管道過濾模式、代理模式、點到點模式、消息總線模式、黑板模式、解釋器模式等。

  • Mobile Web 性能優化手冊:無論是開發者、設計師或者市場專員,都會關心最終用戶對于產品的使用體驗;而在移動端愈發成為主要入口的今天,移動 Web 的性能優化也愈發重要。本手冊則是圖文并茂地介紹了移動 Web 優化應該考慮的點。本手冊依次分析了性能優化的實際意義、性能優化的感知指標會有哪些、常見的移動 Web 優化策略以及 AMP 與 PWA 等常見的優化建議等內容;更多 Web 性能優化相關資料參考這里。

開源項目

樂于分享,共推前端發展

  • react-imgpro:react-imgpro 是基于 React 的圖片處理組件,該組件能夠提供常見的縮放、調色等圖片處理功能,并且將處理之后的圖片以 base64 編碼形式返回。

  • Lozad.js:Lozad.js 是基于 IntersectionObserver API 的輕量級、高性能、可配置的純 JavaScript 懶加載器,其能夠被用于進行圖片、iframe 等多種形式的元素。

  • Rythm.js:Rythm.js 是非常有趣的 JavaScript 庫,它能夠為你的頁面添加動感地音樂效果,仿佛在搖滾中起舞。

  • Downshift:Downshift 是 PayPal 開源的簡單、靈活的 React 輸入組件,提供了自動完成、下拉選擇等多種豐富的功能;Downshift 提供了 Render Function as Children 的接口,從而給予了開發者極大的靈活性與自由發揮的空間。

  • Fastify:Fastify 是新近發布輕量級的 Node.js 服務端框架,其受到了 Hapi、Restify 以及 Express 的啟發,不過在性能評測上卻遠遠優于 Hapi 或者 Express,僅次于原生的 http.Server()。

巔峰人生

  • 5 年,從新手程序媛到研發總監,如何獲得跨越式的成長路徑?:本文是百度外賣技術總監張燦在二叉樹 Live 上的分享,介紹了自己對于技術領域的轉型中的轉型動機分析、轉型問題的應對,如何應對技術發展的瓶頸期,從實習生到研發總監的升級之路在歷經的初級菜鳥、資深技術、技術管理等相關方面的感悟與經驗總結。

前端之巔

「前端之巔」是InfoQ旗下關注前端技術的垂直社群,加入前端之巔學習群請關注「前端之巔」公眾號后回復“加群”。投稿請發郵件到editors@cn.infoq.com,注明“前端之巔投稿”。

前端之巔微信底圖-5.jpg

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257467.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257467.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257467.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle(3)——Oracle圖形界面工具創建數據庫

具體操作步驟詳情: 1.圖形界面工具首界面 Database Configuration Assistant 點擊下一步 2.默認 點擊下一步 3.默認 點擊下一步 4.設置全局數據庫名、SID 為新建數據庫起一個“全局數據庫名”,比如這里對數據庫名和SID:FKXT 點擊下一步 5.設置…

rsa 加密 js php,security.js+RSA做出加密功能

這次給大家帶來security.jsRSA做出加密功能,的注意事項有哪些,下面就是實戰案例,一起來看一下。在項目中遇到要對用戶輸入的密碼進行RSA加密的需求,總結一下實現過程:JS rsa加密加密//引入security.js文件var btn doc…

多線程面試題系列(12):多線程同步內功心法——PV操作上

上面的文章講解了在Windows系統下實現多線程同步互斥的方法,為了提高在實際問題中分析和思考多個線程之間同步互斥問題的能力,接下來將講解PV操作,這也是操作系統中的重點和難點。本文將會先簡要介紹下PV操作的來源和基本使用方法&#xff0c…

兩離散序列卷積matlab,離散序列卷積和(用matlab實現)

數字信號處理實驗報告實驗一離散時間序列卷積和MATLAB實現(一)實驗目的:學會用MATLAB對信號與系統分析的方法,理解離散序列卷積和的計算對進行離散信號與系統分析的重要性。(二)實驗原理:1、離散時間序列f1(k)和f2(k)的卷積和定義&#xff1a…

linux命令學習-4-lsof

lsof(list open files)是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件。 在終端下輸入lsof即可顯示系統打開的文件&#xff…

IOS6+ 下,使用position:sticky實現粘性布局

回顧一下 開通博客之后,潦草的寫了幾篇,之后由于沒時間,加上文筆不好等等(好吧,都是借口),基本上就沒怎么寫過了,其實平時也做了一些記錄,但就是犯懶,沒有去整…

SQL游標使用方法SQL游標使用方法(轉)

1. 為何使用游標:    使用游標(cursor)的一個主要的原因就是把集合操作轉換成單個記錄處理方式。用SQL語言從數據庫中檢索數據后,結果放在內存的一塊區域中,且結果往往是一個含有多個記錄的集合。游標機制允許用戶在SQL server內逐行地訪問…

matlab銑削,基于MATLAB的微細銑削力分析

2010年 12月第 38卷 第 23期 機床與液壓 MACH INE TOOL & HYDRAUL ICS Dec2010Vol38 No123DO I: 10. 3969 / jissn11001 - 38812010231037 收稿日期 : 2009 - 11 - 05 作者簡介 : 張衛鋒 (1978—) , 男 , 講師 , 研究領域為機器人技術、仿真技術、特種加工。電話: 13656487…

軟件測試作業——三

作業見《軟件測試基礎》中文版49頁第7題。英文版63頁 a) b) 令MAXPRIMES 4,t1不能檢查出錯誤,t2發生數組越界,使得t2比t1更容易發現。 c)t3(n1) d)節點覆蓋:TR{1,2,3,4,5&#xff0…

細說Java主流日志工具庫

目錄 概述??java.util.logging (JUL)??Log4j??Logback??Log4j vs Logback??common-logging??slf4j??common-logging vs slf4j??總結實施日志解決方案??引入jar包????slf4j直接綁定日志組件????slf4j兼容非slf4j日志組件????spring 集成 slf4j??…

SQL2008使用json.net實現XML與JSON互轉

借助CLR&#xff0c;首先實現字符串的互轉&#xff0c;然后使用存儲過程實現JSON2table public class JsonFunction { /// <summary> /// XML轉JSON /// </summary> /// <param name"xml"></param> /// <returns></returns> ///…

黑胡桃木php,揭秘美國黑胡桃木的美

家具是藝術和文化的載體&#xff0c;人們對木的喜愛&#xff0c;是一種與生俱來的情懷。好的木材淳厚質樸、溫潤堅定&#xff0c;有著不動聲色的力量。美國黑胡桃木(亦稱黑核桃木)便是如此&#xff0c;“身體”中散發著讓人無法抗拒的魅力&#xff01;美國黑胡桃木體現的是“深…

c mysql備份還原數據庫,MySQL數據庫備份與恢復方法

常有新手問我該怎么備份數據庫&#xff0c;下面介紹3種備份數據庫的方法&#xff1a;(1)備份數據庫文件MySQL中的每一個數據庫和數據表分別對應文件系統中的目錄和其下的文件。在Linux下數據庫文件的存放目錄一般為/var/lib/mysql。在Windows下這個目錄視MySQL的安裝路徑而定&a…

第四篇:白話tornado源碼之褪去模板外衣的前戲

加班程序員最辛苦&#xff0c;來張圖醒醒腦吧&#xff01; ... ... ... 好了&#xff0c;醒醒吧&#xff0c;回歸現實看代碼了&#xff01;&#xff01; 執行字符串表示的函數&#xff0c;并為該函數提供全局變量 本篇的內容從題目中就可以看出來&#xff0c;就是為之后剖析tor…

生活常識

雷雨天野外要關手機 溫漢華介紹&#xff0c;雷雨天&#xff0c;山頂空曠處容易遭雷電襲擊。 他同時提醒&#xff0c;若游客在山上游覽時&#xff0c;遭遇到電閃雷鳴的暴雨天氣時&#xff0c;一定要注意以下事項&#xff1a; 其一&#xff0c;關停自己的手機。 其二&#xff0c;…

主程序分析法MATLAB編程,專題五??概率統計問題的Matlab求解

【實驗目的及要求】I&#xff0e;熟練掌握Matlab編程中常見概率分布的概率密度、概率分布、逆分布、均值和方差等語句的調用格式&#xff0c;學會用Matlab對服從各種分布的樣本進行參數估計和假設檢驗。對實際問題&#xff0c;能夠進行樣本的分析&#xff0c;得出服從哪種分布的…

LFS(Linux From Scratch)學習

一、環境準備 使用Debian平臺&#xff0c;需做如下環境檢查&#xff1a; 1、檢查各個需要的工具及內核版本號&#xff0c;看看是否符合lfs7.7的列表要求 2、檢查需要用到的庫&#xff0c;一共有三個&#xff0c;gmp, mpfr和mpc 工具檢查腳本如下&#xff1a; #filename:check_e…

騰訊云 Centos 配置 JDK Tomcat Mysql

配置JDK 從 oracle 官網下載 rpm 版本的 jdk 包,官方鏈接:點擊此處跳轉。下載jdk的時候記得看一看自己的系統是 64 位還是 32 位的&#xff0c;下對應的版本。下載好以后上傳到騰訊云服務器中,命令格式為 scp &#xff3b;文件路徑] &#xff3b;云主機用戶名ip地址]:[服務器上…

php 取url根域名,php中取得URL的根域名的代碼

/*** 取得根域名** author lonely* create 2011-3-11* version 0.1* lastupdate lonely* package Sl*/class Sl_RootDomain{private static $self;private $domainnull;private $hostnull;private $state_domain;private $top_domain;/*** 取得域名分析實例* Enter description…

如何創建sequence

我用的是在oracle中的方法&#xff0c;在oracle中sequence就是所謂的序列號&#xff0c;每次取的時候它會自動增加&#xff0c;一般用在需要按序列號排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE權限&#xff0c; CREATE SEQUENCE SI_E…