Top Open Source Projects to Watch in 2017
https://opensource.com/article/16/12/yearbook-projects-watch-2017
No one has a crystal ball to see the future of technology. Even for projects developed out in the open, code alone can't tell us whether or not a project is destined for success—but there are hints along the way. For example, perhaps it's not unreasonable to assume that the projects that will help shape our future are those projects that have first seen rapid growth and popularity among the developer community.
So which new projects should an open source developer watch in 2017? Let's take a look at a few projects that emerged in 2016 to achieve rapid notoriety in the GitHub community.
To develop this list, I went through GitHub with a focus on projects whose repository was created in 2016, and looked at the projects ranked by number of stars. It's not a perfect system; there are, of course, repositories that contain something other than an open source project, and so these were omitted from the list. Of course, there also were many great projects introduced in 2016 whose development took place somewhere other than GitHub. Admittedly, the process of picking these 10 projects to watch for 2017 from a pool of many choices was as much of an art as a science. But I still think these projects are worth keeping an eye on in the new year.
Yarn
Yarn pitches itself as providing "fast, reliable, and secure dependency management." In short, it's a modern replacement for npm, a package manager built specifically for JavaScript developers, which helped build the enthusiasm for using javascript across the entire application stack that seems so prevalent today. In addition to its speed and security features, yarn also features off-line installs, advanced dependency-management features, and deterministic design to ensure that packages installs across multiple machines should match identically.
Create React App
A new project from Facebook's incubator project, Create React App is, unsurprisingly, a template for creating React-based applications without having to create a custom build configuration. Providing a simple command-line interface for generating new application, it's easy to create and deploy a simple application stack that gives developers the power of the React framework.
Android Architecture Blueprints
The Android Architecture Blueprints repository is a great resource for learning from the UX team at Google best practices for organizing and architecting an Android app. By demonstrating several ways of handling common problems, the repository provides a starting point for creating a new application, or to inform a design decision in your existing app.
Hyper
For developers and system administrators, there are two tools that one simply cannot live without: a web browser and a terminal. Hyper is an attempt to bring best attributes of a web application to a terminal emulator, creating a modern terminal experience with JavaScript, HTML, and CSS. Relying on web standards opens up customization and control to a whole new audience who can use their existing JavaScript skills to customize and optimize their terminal.
Parse server
Parse server is a Node.js-based open source backend that makes it easy to migrate applications designed for Parse, after the announcement that the hosting service would be retired in early 2017. Designed to make creating web applications and APIs easier, Parse is cross-platform and works everywhere that node.js can be deployed.
Bulma
Designing a good-looking website or web application can be difficult, and made even more so by the complexity of competing browser standards and the wide array of devices your users are viewing from. Bulma is a modern CSS framework designed to be responsive and modular, easing development for UX teams trying to design interfaces that flow naturally.
TensorFlow models
TensorFlow, the Google-driven machine learning framework, was one of our top projects from the 2015 Open Source Yearbook. Looking back at the growing interest in AI over the past 12 months, finding another TensorFlow-related project in this year's batch should come as no surprise, with this repository of TensorFlow models earning more than 10,000 stars. Conducting tasks from name generation and learning, image to text processing, and classification, this is a great starting point for anyone who wants to learn more about TensorFlow while getting their hands a little dirty.
Anime
If you're interested in web animation, give Anime a look. Anime is a JavaScript animation engine that works with CSS, SVG, the document object, and JavaScript objects to bring animation and interactivity to any web-based project. It's cross-platform, working on all of the major browsers, and is designed to make both simple and complex animations easy to implement.
Swift Algorithm Club
Another of our top project from last year's list was Swift, the open source language from Apple that has rapidly become a developer favorite. In this year's list is the Swift Algorithm Club, a collection of various algorithms and data structures implemented in swift that you can use for learning purposes or simply drop into your application. Including numerous sorting, searching, spanning, and tree algorithms, Swift Algorithm Club is an amateur computer scientist's wishlist of code implementations.
Weex
The final entry in this year's top 10 is Weex, a framework designed to make developing a cross-platform user interface for mobile applications easier. Weex is designed to be fast, lightweight, and extensible, allowing you to get near native performance without having to write a different native app for each platform.
Honorable mentions
As I explained, a few new repositories were emerging on GitHub this year that, by popularity, may have made this list, but weren't strictly speaking properly-licensed open source projects. Here are a few of my favorites:
- HEAD: A comprehensive list of the many uses for the "head" section of an HTML document, from providing meta information to browser directives to social sharing hints.
- Google Interview University: One developer's self-study plan for moving from web developer to software engineer—essentially, a computer science knowledge checklist.
- Public APIs: A list of publicly available APIs to return JSON data on just about anything you can imagine, along with links to their documentation.
- A security guide for developers: A work in progress containing an outline and checklist for security-minded developers.
- How to Be a Programmer: A book about the hard and soft skills that are necessary to master in order to be successful in a software development career.
Are there any projects you're particularly interested in watching in 2017? Let us know in the comments, or send us an article proposal.
相关文章
- How to find event listeners on a DOM node in JavaScript or in debugging?
- These 30 keyboard shortcuts are guaranteed to save you time in After Effects.
- Can't connect to localhost, but can with computer name in SQL Server 2008
- Make a Dictionary method argument default to an empty dictionary instead of null
- Windows Service: System.Reflection.ReflectionTypeLoadException was thrown with the following error message: Unable to load one or more of the re
- Adding property to a json object in C#
- What is the most efficient way to deep clone an object in JavaScript?
- how to get a controller instance in another controller
- how to use composer in fiddler
- How to convert an IPv4 address into a integer in C#?
- Think in ISP(image sensor pipe )之How to implement an effecitive AE
- HOW TO BUILD AND RUN ORACLE DATABASE 19C ON DOCKER
- `java.time.LocalDateTime` from String “2020-11-19“: Failed to deserialize java.time.LocalDateTime
- 一个经典的代码--Convert char to int in C and C++
- Airbnb/Apache Superset – the open source dashboards and visualization tool – first impressions and link to a demo
- 泡泡一分钟:Using Geometric Features to Represent Near-Contact Behavior in Robotic Grasping
- Script to Monitor Current User Activity in the Database
- python pip使用报错:Fatal error in launcher: Unable to create process using '"'
- csharp:Learn how to post JSON string to generic Handler using jQuery in ASP.Net C
- VM下Linux网卡丢失(pcnet32 device eth0 does not seem to be ...)解决方案
- gevent.hub.BlockingSwitchOutError: Impossible to call blocking function in the event loop callback
- v-for 在 VSCode 中出现 Elements in iteration expect to have 'v-bind:key' directives.
- Qt error ------ 出现Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly
- 【问题解决】SpringBoot工程无法找到父依赖 parent-pom Failure to find com.xxx:parent-pom:pom:1.0.0.RELEASE
- html2canvas 报错:Failed to execute ‘toDataURL‘ on ‘HTMLCanvasElement : Tainted canvases may not be ...
- 使用Mono Cecil 动态获取运行时数据 (Atribute形式 进行注入 用于写Log) [此文报考 xxx is declared in another module and needs to be imported的解决方法]-摘自网络
- How to Setup Replicated LevelDB Persistence in Apache ActiveMQ 5.9--转载
- How to disable CTRL + F shortcut in XtraSpreadsheet
- 1033 To Fill or Not to Fill
- 129. Sum Root to Leaf Numbers