致前端,2016年須會這7種語言和框架

2015年,軟件開發(fā)界發(fā)生了很多變化。有很多流行的新語言發(fā)布了,也有很多重要的框架和工具發(fā)布了新版本。下面有一個我們覺得最重要的簡短清單,同時也有我們覺得值得你在2016年花時間精力去學習的新事物的一些建議。

大趨勢

在過去的幾年里,有一個越來越明顯的趨勢是web應用的商業(yè)邏輯逐步從后端轉移到了前端,然后后端變得只需要處理簡單的數(shù)據(jù)API。這就讓前端開發(fā)框架的選擇變得尤為重要了。

另外一個重要的改變是2015年發(fā)布的 Edge 瀏覽器。這是IE的替代品,擁有全新的界面和更好的性能。跟IE不一樣的是它同樣采用了跟 FireFox 和Chrome一樣的快速發(fā)布策略。這讓JavaScript開發(fā)者社區(qū)能夠以周為單位獲得最新版JavaScript 和 Web標準特性支持而不是像過去一樣需要等很多年。

語言和平臺

Python3.5 在今年發(fā)布了,帶來了很多新特性 比如 Asyncio,,為你帶來了類似 node.js 的事件機制,還有type hints。 鑒于Python 3 終于真正地火起來了我們強烈建議你替換掉 Python 2. 幾乎所有的庫都已經(jīng)支持 Python 3 了,所以現(xiàn)在是一個升級你的歷史遺留代碼的好時機。

PHP7 是一個重大的新版本,這個版本修復了很多問題并且?guī)砹诵绿匦院托阅芴嵘纯锤庞[) 。 PHP 7 大約比 PHP 5.6 快2倍, 這對一些大型項目還有WordPressDrupal之類的CMS系統(tǒng)影響很大。 我們強烈推薦 PHP之道,已經(jīng)更新到最新的PHP7版本。如果你需要更快的速度并且不介意換一個解釋引擎的話,可以試試Facebook在用的 HHVM。

JavaScript 也以ES2015 標準 (大家通常叫做 ES6)的形式發(fā)布了更新。為我們帶來了激動人心的新功能。 感謝大多數(shù)瀏覽器版本的快速更新,對 ES2015 的支持已經(jīng)非常棒了,并且還有 Babel.js 這樣的工具可以讓你的新代碼跑在低版本瀏覽器上。

Node.js 在這一年變化很多,開發(fā)者社區(qū)曾經(jīng)分裂成 Node.js 和 io.js,然后又再度合并。 經(jīng)歷過這些之后的結局就是我們得到了一個有很多代碼貢獻者積極維護的項目,并且擁有了兩個版本的 Node : 一個穩(wěn)定的LTS (長期支持) 版本,這個版本注重穩(wěn)定性,比較適合長期項目和大公司,和一個非長期支持但是最快實現(xiàn)新特征的版本。

Swift2 在今年初發(fā)布了。這是 Apple 出品的旨在簡化 iOS 和 OS X 開發(fā)的現(xiàn)代編程語言。幾周前, Swift 正式開源并已經(jīng)兼容Linux。這意味著你可以用它來編寫服務端應用了。

Go 1.5 在幾個月前發(fā)布了,并帶來了重大的架構調整。在 2015 年它變得越來越流行并被早期創(chuàng)業(yè)項目和開源項目所采納。這門語言是 非常簡單的,所以花一個周末你就能學會。

TypeScript是一個可編譯成 JavaScript 的靜態(tài)類型語言 。這是由微軟開發(fā)的,所以跟Visual Studio 和開源的 Visual Studio Code editors 完美地集成了。它很快就要大紅大紫了,因為即將到來的 Angular 2 就是用它寫的。靜態(tài)類型對大型團隊的大型項目特別有用,所以如果你正在大型團隊中做大型項目,或者僅僅出于好奇,你也應該嘗試一下 TypeScript 。

如果為了好玩兒,你也可以試試某種函數(shù)式編程語言比如 Haskell 或者 Clojure。也有有趣的高性能語言比如 Rust 和 Elixir。如果你在找一份程序員的工作的話, 職業(yè)開發(fā)語言比如Java(在第8版中有一些很好的新特性)和 C# (感謝 Visual StudioCode 和 .net core 實現(xiàn)了跨平臺開發(fā)和運行) 都值得你在2016年投入時間。

挑一個或幾個學習: Python 3,Go, PHP 7, ES2015, Node.js,Swift,TypeScript

JavaScript 框架

JavaScript框架是web開發(fā)技術棧中非常重要的一部分,所以我們單獨拿一小節(jié)來說這個。今年有兩個新標準—— ServiceWorkers 和 Web Assembly,基本改變了現(xiàn)代 Web APP的開發(fā)方式。還有一些我們覺得你在2016年應該保持關注的框架新版本發(fā)布。

Angular.js 已經(jīng)成為了大型企業(yè)首選的 JavaScript 框架。 這個框架即將發(fā)布下一個大版本的消息相信大家已經(jīng)聽過一段時間了, 在今年初的時候 Angular 2 發(fā)布了開發(fā)者預覽版。 相對 Angular 1 而言是一次顛覆性的重構,而對我們而言帶來了巨大的改進。一旦正式發(fā)布就很有可能成為企業(yè)應用開發(fā)框架的首選,所以 Angular 2 的開發(fā)經(jīng)驗將會是你簡歷里很好的一個加分項。我們建議再等幾個月直到最終版正式發(fā)布之后才用于生產(chǎn),不過你不妨現(xiàn)在就讀一讀他們的 快速上手指南。

React 在2015年里持續(xù)升溫并且持續(xù)升級,越來越多的新項目采用它開發(fā)。幾個月前他們發(fā)布了新的開發(fā)工具 。 Facebook 還發(fā)布了用于開發(fā)支持 Android 和 iOS 平臺原生應用的 React Native 框架,這個框架使用了原生界面配合運行在后臺的JavaScript線程實現(xiàn)基于React開發(fā)原生應用。 可以參考我們今年發(fā)表的 React初級教程 。

Polymer 1.0 是在5月份發(fā)布的。這是第一個穩(wěn)定且可用于生產(chǎn)的版本. Polymer 主要是基于 WebComponents 標準, 這是一份將 HTML, JS 和CSS打包成獨立組件并便于快速引用的標準。目前只有Chrome和 Opera 支持 Web Components標準,但是 Polymer 搞定了瀏覽器兼容性問題。

Ember.js 也發(fā)布了一個新版本。 Ember 2 帶來了模塊化功能、廢棄了一些舊特性并提升了性能。 Ember 遵循語義化版本并且開發(fā)團隊盡可能保證大家能夠平滑升級。如果你需要一個穩(wěn)定且易于升級的框架的話,Ember是個不錯的選擇。

挑一個或幾個學習:Angular2,React, Ember.js, Polymer, Web Components, ServiceWorkers

前端

Bootstrap在過去的一年里變得更加流行了,正在成為Web開發(fā)的標配。使用SASS并支持 flexbox 的第四版將在幾個月之后發(fā)布,官方保證可以從V3平滑升級 (不會像2年前從 v2 升級到 v3 那樣 ),所以盡管放心,你學的第3版的相關知識照樣會適用于第4版。

Foundation 是另一個可替代Bootstrap的前端框架。 第6版在年初的時候發(fā)布了,這個版本主要側重于模塊化,你可以根據(jù)需要定制自己需要的部分以便縮短加載時間。

MDL 是一個Google官方發(fā)布的用于開發(fā)material design web app 的框架。 這個框架在今年初發(fā)布并和Polymer目標相似,但是更容易上手。我們曾經(jīng)寫過一篇 精彩的 MDL 與 Bootstrap 差異總結。

CSS預處理器也在持續(xù)改良。LESS 和 SASS 是當下最流行的兩個,大部分功能都差不多。但是,最新的 Bootstrap 4 都已經(jīng)轉向了 SASS,所以2016年要學的CSS預處理器中 SASS 獲得了一些優(yōu)勢。當然了,也還有更新的 PostCSS 工具值得留意,但是我們強烈建議先掌握了預處理器再來學這個。

挑一個或幾個學習:Bootstrap,MDL, Foundation,SASS, LESS, PostCSS

后端

這幾年的Web開發(fā)有一個非常明顯的趨勢。越來越多的應用邏輯轉移到了前端,然后后端僅僅是API。然而傳統(tǒng)的后端生成頁面的應用依然還有生存空間,所以我們覺得學一個經(jīng)典的全站框架依然是非常重要的。

關鍵取決于你更喜歡那種語言,可選擇的非常多。用PHP你可以選Symfony, Zend, Laravel (還有Lumen, 這是新一代專注于API開發(fā)的框架), Slim 等。用Python有 Django 和 Flask 。用 Ruby 有Rails和 Sinatra。用Java有 Play 和 Spark。用Node.js你可以選擇 Express, Hapi 和 Sails.js ,還有 Go 語言的Revel。

AWS Lambda去年就已經(jīng)發(fā)布了,但是這個概念到現(xiàn)在才穩(wěn)定并能用于生產(chǎn)。這是一種可無限擴展的完全取代傳統(tǒng)后端服務器的云服務。你可以根據(jù)API被訪問時的特定條件或者路由來定義不同的響應方法。這意味著你可以完全不用管服務器。

另一個趨勢是靜態(tài)站點生成器比如 Jekyll 和 Octopress(這里有一個完整的同類清單)。這類工具的主要功能是把一堆文本和圖片文件渲染成一個完整的靜態(tài)網(wǎng)站。那些以前通常自己搭一個Wordpress博客程序的開發(fā)者現(xiàn)在更喜歡事先生成并直接上傳一個靜態(tài)網(wǎng)站。這樣會更加安全(沒有后端服務器也不需要數(shù)據(jù)庫)并且性能非常好。結合 MaxCDN 或 CloudFlare之類的CDN服務可以讓用戶就近訪問,明顯減少等待時間。

挑一個學習: 傳統(tǒng)的全棧后端框架, AWS Lambda, 一種靜態(tài)生成器

內容管理系統(tǒng)(CMS)

我們主要介紹兩種最流行的CMS系統(tǒng)。都是用PHP寫的并且易于部署和上手。他們都因為PHP7的發(fā)布獲得了明顯的速度提升。

最近幾年 Wordpress 已經(jīng)變得早就不僅僅是個博客程序了。它是一個成熟的 CMS/框架,配合插件可以做任何一種網(wǎng)站。高質量的 Wordpress 皮膚是一個巨大的市場,很多自由職業(yè)者以 Wordpress 相關開發(fā)為生。配合類似 WP-API 之類的項目你可以把Wordpress變成一組 RESTAPI

Drupal 8 在今年發(fā)布了。這是一次側重現(xiàn)代開發(fā)最佳實踐的重構。使用了Symfony2 組件、 Composer 包管理器 和 Twig 模板引擎。成千上萬的網(wǎng)站在使用Drupal,它確實是以內容為主的門戶網(wǎng)站的一個很好的選擇。

數(shù)據(jù)庫

這一年Web開發(fā)社區(qū)對 NoSQL 數(shù)據(jù)庫失去了一些熱情,重新回到了關系型數(shù)據(jù)庫比如 Postgres 和MySQL身邊。這方面著名的例外是 RethinkDB 和Redis,他們都很火,我強烈建議你在2016年都試試。

MySQL 是最火并且大部分主機供應商都支持的開源數(shù)據(jù)庫。在5.7版里,MySQL 也提供了JSON columns 來存儲非關系型數(shù)據(jù)。如果你剛開始接觸后端開發(fā),你可能正在找連接到服務器已安裝的數(shù)據(jù)庫的方法。很可能是舊版本的,所以你沒辦法嘗試 JSON 類型數(shù)據(jù)。MySQL已經(jīng)包含在了很流行的 XAMPP 或 MAMP 之類的軟件包里,所以上手很容易。

挑一個學習:Redis,RethinkDB,MySQL/MariaDB,PostgreSQL

移動應用

移動平臺一直在進步并且智能機的硬件配置現(xiàn)在跟低端筆記本的性能差不多了。這對于 hybrid 移動開發(fā)框架來說是個好消息,基于web技術開發(fā)的移動應用將得到更加順滑、更像原生的體驗了。

我們曾經(jīng)寫過一篇不錯的 Hybrid應用開發(fā)框架概覽 你或許會感興趣。最火的 Ionic 框架 和 Meteor 都在最近發(fā)布了1.0版本且都適合做移動應用開發(fā)。Facebook 開源的 React Native,可以在后臺JavaScript進程里運行 React 組件并更新原生的UI界面,讓你可以用幾乎同一套代碼同時寫 iOS和Android應用。

挑一個學習: Ionic, ReactNative, Meteor

編輯器和開發(fā)工具

Atom在今年發(fā)布了1.0。它是一款使用web技術開發(fā)的免費且功能強大的代碼編輯器。它背后有一個很多大開發(fā)者社區(qū)(譯者注:github)提供了很多擴展包。它提供好用的自動完成并集成了代碼重構和校驗工具。差點忘了它還有很多漂亮的皮膚可以選擇,并且你可以自己寫 CoffeeScript 和CSS來定制自己喜歡的皮膚。Facebook已經(jīng)這么干了,并且發(fā)布了名為 Nuclide 的編輯器。

微軟在今年年初發(fā)布的 Visual Studio Code 給了大家一個驚喜。這是一款支持多種語言并兼容 Windows, Linux 和 OS X 平臺的輕量級IDE。它提供了強大的智能代碼檢查并集成了 ASP.Net 和 Node.js 的調試工具。

NPM,Node.js的包管理器,火得一塌糊涂并已經(jīng)成為了前端和node開發(fā)者的標準包管理器。這是幫你的項目管理JavaScript依賴最簡單的方法并且上手很容易。

目前哪怕是一個人開發(fā)也有必要用 Git。它的分布式模型讓你可以把任何一個文件夾變成一個版本控制倉庫,然后你可以把這個倉庫發(fā)布到 Bitbucket 或 Github,同步到其他電腦上。如果你還沒用過 Git,我們強烈建議你把它加入你2016年需要學習的清單里面。

挑一個學習: Atom, VisualStudio Code, NPM,Git

搞物聯(lián)網(wǎng)

樹莓派基金會提前給我們送來了圣誕禮物,RaspberryPIZero 一種只賣 5 美金的高性能電腦發(fā)布了。它搭載了Linux,所以你可以把它變成一臺服務器,一個家用自動化裝置,一面智能鏡子,或者把它集成到別的電器里面打造一個你夢寐以求的能聯(lián)網(wǎng)控制的咖啡機。2016年是你應該擁有樹莓派的一年。

規(guī)劃一個漂亮的2016年吧!

我們已經(jīng)度過了非常棒的2015年,看起來2016年會更有意思。那么2016年你會想學些什么呢?


注:關于本文 ?作者:h5,節(jié)選自網(wǎng)絡~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容