開源日報 每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,堅持閱讀《開源日報》,保持每日學習的好習慣。
今日推薦開源項目:《自帶音效 Keyda》
今日推薦英文原文:《2020 and Beyond Programming Trend Predictions》

今日推薦開源項目:《自帶音效 Keyda》傳送門:GitHub鏈接
推薦理由:因為現在大部分人在使用電腦的時間力都是放著音樂的,對按鍵聲可能沒有那麼在意。但是按鍵的聲音作為操作的一個反饋實際上能夠讓人對使用鍵盤這件事更加集中,雖然現在已經有了音樂這種更好的替代品,但是如果想要重溫鍵盤的按鍵聲但是自己的鍵盤又做不到的話,這個項目能夠替代你的鍵盤來發出按鍵聲,對於那些很安靜的鍵盤來說,它也不會在大半夜吵到你的舍友。
今日推薦英文原文:《2020 and Beyond Programming Trend Predictions》作者:Indrek Lasn
原文鏈接:https://medium.com/better-programming/2020-programming-trend-predictions-a5d6b70bec26
推薦理由:下一年編程技術的趨勢

2020 and Beyond Programming Trend Predictions

Predicting what programming technologies will emerge in 2020


Photo by Safar Safarov on Unsplash

2020 is almost here, as crazy as that sounds. The year 2020 sounds like it』s derived from science fiction, yet here we are — about to knock on its front door.

If you』re curious about what the future might bring to the programming world, you』re in the right place. I might be completely wrong — don』t quote me on this— but here』s what I think will happen. I can』t predict the future, but I can make educated guesses.
「The best way to predict your future is to create it.」 ― Abraham Lincoln

Rust Will Become Mainstream


Rust- https://www.rust-lang.org/

Rust is a multi-paradigm system programming language focused on safety — especially safe concurrency. Rust is syntactically similar to C++, but it』s designed to provide better memory safety while maintaining high performance.

Source: Leftover Salad

We』ve seen four years of strong growth of the Rust programming language. I believe 2020 is the year Rust will officially become mainstream. What is mainstream is up for self-interpretation, but I believe schools will start introducing Rust to their curriculum. This will create a new wave of Rust engineers.

Most loved programming languages from the 2019 StackOverflow Survey.

Rust has proven itself to be a great language with a vibrant and active community. With Facebook building Libra on Rust — its the biggest project ever — we』re about to see what Rust is really made off.

If you』re looking to learn a new language, I would strongly recommend learning Rust.

GraphQL Adoption Will Continue to Grow


GraphQL Google Trends

As our applications grow in complexity, so do our data consumption needs. I』m a big fan of GraphQL, and I』ve used it many times. I think it』s a far superior solution to fetching data compared with a traditional REST API.

While typical REST APIs require loading from multiple URLs, GraphQL APIs get all the data your app needs in a single request.

GraphQL is used by teams of all sizes in many different environments and languages to power mobile apps, websites, and APIs.

Who』s using GraphQL

Progressive Web Apps Are a Force to Reckon With

Progressive Web Apps (PWA) is a new approach to building applications by combining the best features of the web with the top qualities of mobile apps.

Photo by Rami Al-zayat on Unsplash

There are way more web developers in the wild than native platform-specific developers. Once big companies realize that they can repurpose their web devs to make progressive web applications, I suspect that we』ll be seeing a huge wave of PWAs.

It will take a while for bigger companies to adapt, though, which is pretty normal for technology. The progressive part would generally fall towards the front end development since it』s mostly all about interacting with the Web Workers API (Native Browser API).

Web apps aren』t going anywhere. More people are catching onto the idea that writing a single cross-compatible PWA is less work and more money for your time.

PWA Google Trends

Web Assembly Will See More Light


Web Assembly

WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C, C++, and Rust. Wasm also enables deployment on the web for client and server applications. PWAs can use wasm too.

In other words, Web Assembly is a way to bridge JavaScript technologies with more level technologies. Think of using a Rust image processing library in your React app. Web assembly allows you to do that.

Performance is key, and as the amount of data grows, it will be even harder to keep a good performance. That』s when low-level libraries from C++ or Rust come into play. We』ll see bigger companies adopting Web Assembly and snowball from there.

React Will Continue to Reign


Frontend JavaScript frontend libraries

React is by far the most popular JavaScript library for front end development, and for a good reason too. It』s fun and easy to build React apps. The React team and community have done a splendid job as far as the experience goes for building applications.

React — https://reactjs.org

I』ve worked with Vue, Angular, and React, and I think they』re all fantastic frameworks to work with. Remember, the goal of a library is to get stuff done, so focus less on the flavor, and more on the getting stuff done. It』s utterly unproductive to argue about what framework is the 「best.」 Pick a framework and channel all your energy into building stuff instead.

Always Bet on JavaScript

We can say with confidence that 2010s was the decade of JavaScript. We』ve seen a massive spike of JavaScript growth, and it doesn』t seem to be slowing down.

JavaScript developers have been taking some abuse by being called 「not real developers.」 JavaScript is the heart of any big tech company, such as Netflix, Facebook, Google, and many more. Therefore, JavaScript as a language is as legitimate as any other programming language. Take pride in being a JavaScript developer. After all, some of the coolest and most innovative stuff has been built by the JavaScript community.

Almost all websites are leveraging JavaScript to some degree. How many websites are out there? Millions!

It has never been a better time to be a JavaScript developer. Salaries are on the rise, the community is as alive as ever, and the job market is huge.

Top languages over time

I wrote earlier on the subject of what makes JavaScript popular — you should probably read that too.

Top open source projects
下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/