(author| Martin Angelov) original前端
The software development industry continues its relentless march forward. In 2016 we saw new releases of popular languages, frameworks and tools that give us more power and change the way we work. It is difficult to keep track of everything that is new, so at the end of every year we give you our take on what is important and what you should learn during the next twelve months.git
In 2016 we saw the rise of the Progressive Web App concept. It represents web application that work offline and offer a native, app-like experience. They can be added to your smart device's homescreen and can even send you push notifications, bridging the gap with native mobile apps. We think that in 2017 PWA are going to become even more important and are well worth investigation. See our overview heregithub
2016咱們目擊了PWA概念的興起。它表示了web app能夠線下使用,而且提供一個類原生app的用戶體驗。PWA能夠被添加到手機的主屏,而且能夠推送消息、橋接本地應用。咱們認爲在2017 PWA將會變的更加劇要,而且具有投資價值。web
tucao:關於Progressive web app,google早些時候就在大力推進了。文章詳解編程
Everybody is talking about bots right now. From platforms for running them, to frameworks for building them, the community is buzzing with activity(read our intro here). Bots are the new mobile apps, and if you hurry up you can catch the wave while everyone is excited. Once the novelty wears off, bots will probably be relegated to some boring role such as automated customer support. But hey, we can dream!c#
如今每一個人都在討論bots。從運行它們的平臺到開發它們的平臺,社區充滿了活力。Bots是新的移動應用,若是你加緊的話你還能夠趁着全部人還很激動的時候抓住潮流。當新奇感過去了,bots也許會變成無聊的角色,好比自動客戶支持。可是,咱們還能夠夢想!後端
tucao:看到bot hype,我一臉懵?點進intro,竟然是自動回覆機器人....嗯,全能諮詢機器人?後臺是API,任何語言均可以,Node.js、PHP,如今JAVA和Python也有不少庫了。前臺能夠是任何消息應用(Facebook Messenger、Slack、Telegram),或者是簡單的聊天界面。而且能夠不用限制在單平臺上。瀏覽器
In the JavaScript community we have an incredible churn of framework and tools, with new ones being born almost every week. Unitil recently, the expectation was that the old tools would just be replaced by the new, but this is not what we saw in 2016. Instead, we saw the popular frameworks exchanging ideas and incorporating the innovations put forth by newcomers. So in 2017 it won't matter much which of the major JS frameworks you choose, their features are mostly comparable.ruby
在JS社區存在着難以置信的框架和工具的變更,幾乎每週都有新的東西產生。直到最近,預期都只是舊的工具直接被新的替代,但這並非咱們在2016看見的。相反,能夠看到流行框架之間交換思想,而且歸入新興框架的創新。因此在2017重要的不是你選擇了那種JS框架,它們的特性大多數都是兼容的。babel
Companies and developers everywhere are embracing 「the cloud」. This is virtualized computer infrastructure that is available on demand and fully configurable from a control panel. The big three cloud providers are AWS, Google Cloud and Azure. Thanks to their ongoing competition prices have been falling, bringing it within the budgets of smaller companies and individual developers. Familiarizing yourself with the cloud workflow would be a good investment for 2017.
全部的企業和開發者都在敞開懷抱擁抱「雲」。 三大雲提供商巨頭,AWS、Google、Azure。感謝他們的持續競爭帶來價格的下跌,讓小公司和我的開發者也能享受到雲服務(噗。讓本身習慣cloud workflow是在2017很好的投資。
Machine Learning(ML) has exploded in popularity during the last twelve months. And with the historic AlphaGo vs Lee Sedol match in March, it entered the mainstream. Smart computer systems that learn from raw data are revolutionizing the way we interact with our mobile devices. By the looks of it, ML will be an even bigger factor in 2017.
機器學習ML在過去的12個月中迎來了大爆發。在3月AlphaGo vs Lee Sedol的比賽中,ML進入了主流。智能手機從原數據中進行學習正變革着咱們和移動設備交互的方式。
JavaScript continue its incredible pace of innovation. Catalyzed by the quick relaese schedules of web browsers, the JS standard is updated every year. The nexr edition, ES2017,is expected to be finalized in mid 2017.It will bring the deam feature of many JS developers - sync/await for working with asynchronous functions. And thanks to Babel, you can write ES2017 in every browser even today.
JavaScipt繼續着它使人驚訝的創新步伐。在快速更迭的web瀏覽器促進下,JS的標準每一年都在更新。下一個版本,ES2017,預計將會在2017年中完成。它將帶來許多JS開發者的夢想特性 async/await:用異步方法進行開發。 感謝Babel,你能夠再每一個瀏覽器上寫ES2017。
If you are looking for something more exciting, you can try our http://www.javashuo.com/tag/crystal and Exlixir, which both combine a friendly ruby-like syntax with superior performance. Or you can look into a functional lanuage like Haskell or Clojure. Two other last languages are Rust and Go which we recommend.
若是你想找點更使人興奮的,能夠試試Crystal和Exlixir,結合了友好的類ruby語法和優越的性能。或者你也能夠試試函數式語言好比Haskell或Clojure。最後推薦的語言是Rust和Go。
The web platform made two major advancements recently - Web Assembly and Servive Workers. They open the gates for fast and performant web applications that bridge the gap with native compiled applications. Service Workers in particular are the enabling technology for Progressive Web Apps and bring surpport for Notifications to the web platform, with more APIs to follow in the future.
web平臺目前有兩個主要的發展 Web Assembly 和Service Worker。他們打開了兼備速度和性能的web app並橋接原生app。Service Worker 特別增強了PWA的技術,而且爲web平臺消息推送帶來了支持。
Learn one or more of these: Angular.js 2, Vue.js 2.0, Ember,Aurelia/React, Bootstrap ,SASS/LESS
There is plenty of choices for the backend, all coming down to your preference of a programming language or specific performance needs. An ongoing trend in web development is business logic to move away from the backend, turning that layer into an API which is consumed by the frontend and mobile apps. But a full stack framework is often simpler and faster to develop in, and is still a valid choice fot a lot of web apps.
後端方面有不少的選擇,基本依據本身偏向的編程語言而定。目前一個流行的趨勢是把業務邏輯與後臺分離,把業務層轉向前臺和移動apps。可是一個全棧框架一般可以進行更快的開發,仍然是衆多web apps中有效的選擇。
MySQL 8.0, PostgreSQL 9/6, Redis, CouchDB
Yarn, git, Visual Studio Code, Electron, Ansible, Docker.