Home > News content

2018 new open source software top 50

via:开源中国     time:2019/1/25 10:05:05     readed:398

Open source China 2018 New open source software most popular TOP 50

Top 20 preview

RankingSoftware nameRankingSoftware name
1Deno11Apache Edgent
2Thonny12RIOT-OS
3Helidon13Katran
4Anna14Micronaut
5gRPC-Web15Pico.js
6Jenkins X16Uber JVM Profiler
7Jib17QuantumKatas
8Sketch2Code18Flutter Desktop Embedding
9Sourcegraph19gVisor
10Vuido20ML.NET
......

Unexpectedly, QuantumKatas, the quantum programming project, is not only on the list, but also ranked in the top 20. It seems that everyone has a persevering pursuit of new technology, like it! At the time of the launch of Deno, the domestic developers were given “crazy watering” in their GitHub warehouse...

1. Deno: V8-based JavaScript/TypeScript runtime

Deno was an open source project launched by Ryan Dahl, the father of Node, in 2018. When the project was launched, it caused a wave of domestic developers. They took the opportunity to sigh "I don't want to update, I can't learn." At the time, Deno was considered the next generation of Node, but in fact ry never expressed a similar view. Deno was based solely on the V8 engine and ultimately provided a secure TypeScript runtime. RY means that Deno doesn't pursue compatible Nodes, but pursues a compatible browser, so we can think of this as a desire to completely abandon the Node package and create a better JavaScript/TypeScript runtime.

Project homepage:Https://deno.land/

Open source agreement: MIT

Development language: TypeScript, Rust, Python, C++, JavaScript

2. Thonny: Python IDE for beginners

There aren't many development tools available to Python developers, and mainstream choices are generallyVisual StudioCode, developers who are willing to spend money may choose PyCharm. But for novices, PyCharm is not a "friendly" choice - not only too "bloated", but also a fee-based software. Visual Studio Code has a certain learning curve for beginners, so the Python IDE for beginners is very necessary.

Thonny is a Python IDE for beginners, developed by the University of Tartu in Estonia, which is different from the normal IDE because its debugger is designed for learning and instructional programming. Thonny's interface is simple, easy to use, and supports plugins. Because it is for beginners, it removes all the features that might distract beginners.

Project homepage:Https://thonny.org/

Open source agreement: MIT

Development language: Python

3. Helidon: Oracle's lightweight, fast Java microservices framework

There are many choices about the Java microservices framework, such as Spring Cloud, Thrift, ZeroC, Dubbo and so on. Helidon is a microservices framework that Oracle has open sourced in 2018. It is a Java open source library for writing microservices running on a fast web kernel powered by Netty. Helidon has officially joined Eclipse MicroProfile.

Oracle's senior software development manager and Helidon project leader Dmitry Kornilov talked about the original intention of Helidon: "When we entered the cloud world, microservice architectures became very popular and they were mainly used to createcloud service. We also realize that we need to change the development experience. We can build microservices using Java EE, but it is better to have a framework designed from scratch to build microservices. We also want to create a set of lightweight libraries that don't require an application.serverAnd can be used in a Java SE application. These libraries can also be used separately from each other, but when used together, will give developers everything they need to create microservices: configuration, security, and web server. This is the original intention of Helidon. ”

Project homepage:Https://helidon.io/

Open source protocol: Apache

Development language: Java

Affiliated company: Oracle

4. Anna: Ultra-high performance key-value storagedatabase

Anna is the key-value store database from Berkeley's RISE Labs, and is a KVS with amazing access speed, superior scalability and excellent consistency.

Anna's performance and scalability are mainly due to its completely uncoordinated mechanism, where 90% of the workload of the node worker process is processing requests, while most other systems (such as Masstree and Intel's TBB) have less than 10% of the time. In processing requests, the remaining 90% of their time is spent waiting for coordination. Not only that, but other systems also have processor cache breakdown problems due to the use of shared memory.

Project homepage:Https://rise.cs.berkeley.edu/blog/anna-kvs/

Open source agreement: BSF

Development language: C/C++

5. gRPC-Web: Web client accessing the gRPC service

gRPC-Web is gRPC for Web Clients. As its name implies, gRPC-Web is a JavaScript library that enables web applications to communicate directly with back-end gRPC services without the need for an HTTP server to act as an intermediary.

gRPC-Web allows you to use .proto to define the service "contract" between the client web application and the backend gRPC server, and automatically generate client-side JavaScript (you can choose the Closure compiler or use the wider CommonJS) . You no longer have to worry about these things: creating custom JSON serialization and deserialization logic, handling HTTP status codes (possibly depending on the REST API), Content-Type negotiation, and more.

Project homepage:Https://github.com/grpc/grpc-web

Open source agreement: Apache-2.0

Development language: C/C++, JavaScript

6. Jenkins X: Providing CI/CD for Kubernetes

Jenkins X is a highly integrated CI/CD platform based on Jenkins and Kubernetes that addresses the ongoing delivery of cloud-native applications under the micro-service architecture and simplifies the development, operation, and deployment of native cloud-wide applications.

It still uses Jenkins as the core engine for continuous delivery. In fact, Jenkins X exists as a subproject of Jenkins, focusing on the CI/CD implementation of cloud native applications, and also helping Jenkins to complete the transformation of the cloud native application itself. The more people are designing and document storage systems for rickets.

Jenkins X core components

Project homepage:Https://jenkins-x.io/

Open source agreement: Apache-2.0

Development language: Go

7. Jib: Building a container image for a Java application

Jib is a class library developed by Google that can directly build Docker and OCI images for Java applications, available as Maven and Gradle plugins.

With Jib, Java developers can build containers using their familiar Java tools. Jib is a fast and simple container image build tool that handles all the steps required to package an application into a container image. It doesn't require you to write Dockerfiles or install Docker, and it can be integrated directly into Maven and Gradle -- just add the plugin to the build and you can containerize the Java application immediately.

Project homepage:https://github.com/GoogleContainerTools/jib

Open source agreement: Apache-2.0

Development language: Java

Company: Google

8. Sketch2Code: Hand-drawn user interface into HTML code

Sketch2Code isMicrosoftOpen source projects that will draw sketches and seconds to change code. For web-based solutions, Sketch2Code uses AI to convert hand-drawn user interface sketches into usable HTML code.

Project homepage:https://github.com/Microsoft/ailab/tree/master/Sketch2Code

Open source agreement: MIT

Development language: C#

Company: Microsoft

9. Sourcegraph: Code Search Browsing Tool

Sourcegraph is well known to the public because it supports easy browsing and searching for code on GitHub. Sourcegraph is a must-have plug-in for developers. It allows us to browse and search GitHub code just like an IDE.

Sourcegraph is a code search browsing tool that can index open source code on the Web based on semantics, providing code search and code semantic intelligence.

Project homepage:Https://about.sourcegraph.com/

Open source agreement: Apache-2.0

Development language: Python, Go, TypeScript

10. Vuido: Building cross-platform native desktop apps with Vue.js

When it comes to building cross-platform native desktop applications, I believe that the first thing that comes to mind is Electron, a cross-platform desktop application development tool from GitHub. But Vuido's open source makes it possible to build lightweight native desktop applications using Vue.js.

Applications built with Vuido are available atWindowsRun on OS X and Linux, use native GUI components, and do not require Electron. Vuido supports most of the standard Vue.js APIs and is compatible with many Vue.js extensions, such as Vuex. Applications using Vuido can also use all standard Node.js modules as well as any packages that are compatible with Node.js.

Project homepage:Https://vuido.mimec.org/

Open source agreement: MIT

Development language: JavaScript

11. Apache Edgent: Runtime for IoT devices

Apache Edgent is a programming model and a microkernel-style runtime that can be embedded into gateways and small IoT devices. Apache Edgent can be used to perform real-time analysis of continuous data streams from equipment, vehicles, systems, applications, devices and sensors such as Raspberry Pi or smartphones.

Working in tandem with a centralized analytics system, Apache Edgent provides efficient, timely analysis across the entire IoT ecosystem: from the center to the edge.

Project homepage:Https://edgent.apache.org/

Open source agreement: Apache-2.0

Development language: Java

12. RIOT-OS: Real-time multi-threaded IoT operating system

RIOT is a real-time, multi-threaded IoT operating system that supports a range of devices commonly found in the Internet of Things, including 8-bit, 16-bit, and 32-bit microcontrollers.

RIOT is based on the following design principles: energy efficiency, real-time capabilities, small memory footprint, modular and unified API access, independent of the underlying hardware (this API provides partial POSIX compatibility).

Project homepage:Http://www.riot-os.org/

Open source agreement: LGPL-2.1

Development language: C/C++

13. Katran: High Performance Layer 4 Load Balancer

Katran is a high-performance Layer 4 load balancer for Facebook open source and is currently in the incubation phase within Facebook.

Katran provides a software solution for using what is called eXpress Data Path and eBPFvirtual machineThe latest kernel engineering development for load balancing. Katran is deployed on Facebook's network.

Project homepage:Https://github.com/facebookincubator/katran

Open source agreement: GPLv2

Development language: C/C++, Python, Go

Company: Facebook

14. Micronaut: JVM-based microservices application framework

Micronaut is the latest masterpiece of the Grails team, drawing on a lot of experience based on the Grails framework, a new framework for microservices scenarios, and a new generation of JVM-based microservices application framework.

This framework is still based on the JVM, and supports Java, Groovy, Kotlin three programming languages. The team claims that the package packaged by this framework is smaller, uses less memory, and starts faster. Micronaut was inspired by the experience of building applications from large applications to service applications using Spring, Spring Boot, and Grails over the years.

Project homepage:Http://micronaut.io/

Open source protocol: Apache

Development language: Java

15. pico.js: Micro JavaScript Face Detection Library

Pico.js is a face detection library with only 200 lines of pure JavaScript code, with real-time detection (200+ FPS in real-world environments) and only 2kB after compression.

Project homepage:Https://github.com/tehnokv/picojs

Open source agreement: MIT

Development language: JavaScript

16. Uber JVM Profiler: Distributed Trace Tool

The JVM Profiler is a distributed profiler open sourced by the Uber Engineering team to collect performance and resource usage metrics to serve further analysis. Although it is built for Spark applications, its universal implementation makes it suitable for any JVM-based service or application.

Project homepage:Https://github.com/uber-common/jvm-profiler

Open source agreement: Java

Development language: Apache-2.0

Company: Uber

17. QuantumKatas: Open Source Quantum Programming Solution

Katas is a very good programming language learning tool that relies on a few simple learning principles: active learning, incremental complexity and feedback.

A series of Quantum KatasTutorialThe progress can be customized to teach both quantum computing and Q# programming elements. From basic to challenging, Katas offers a range of tasks on the subject of quantum computing. Each task requires a code to fill in, starting with only one line of code, and may need to fill out a large piece of code later.

Project homepage:https://github.com/Microsoft/QuantumKatas

Open source agreement: MIT

Development language: C#

Company: Microsoft

18. Flutter Desktop Embedding: Developing Cross-Platform Desktop Applications with Flutter

Flutter Desktop Embedding is a Google-compatible compatibility library that uses the Flutter framework's API for developing cross-platform desktop applications.

According to the documentation, as long as the source code of the mobile phone application is modified, it can be compiled into a desktop application. The purpose of this project is to support the development of applications developed with Flutter on Windows, macOS and Linux. It provides the Flutter API, a library for drawing and mouse/keyboard input, and optional plug-ins for accessing other native platform features.

Project homepage:Https://github.com/google/flutter-desktop-embedding

Open source agreement: Apache-2.0

Development language: C/C++, Objective-C

Company: Google

19. gVisor: New sandbox container runtime environment

gVisor is a new sandbox solution that provides safe isolation for containers while continuing to maintain far more lightweight features than virtual machines. gVisor integrates with Docker and Kubernetes to make sandboxed container systems easier to build in production environments.

Project homepage:Https://github.com/google/gvisor

Open source agreement: Apache-2.0

Development language: Go, C++, Python

Company: Google

20. ML.NET: A Cross-Platform Machine Learning Framework

ML.NET is a cross-platform open source machine learning framework designed to make .NET developers learn on mobile phones faster. ML.NET allows .NET developers to develop their own models and inject custom ML into their applications. They don't need to develop or adjust the expertise of machine learning models, everything can be done in .NET.

Project homepage:Https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet

Open source agreement: MIT

Development language: C#, C/C++

Company: Microsoft

21. Dive: Analyze and explore tools inside Docker container images

A Docker container image is a lightweight, stand-alone executable that contains all the software needed to run an application. So what does a Docker image contain? This tool called Dive is used to analyze and browse the content of each layer of the Docker image. By analyzing the Docker image, we can find files that may be duplicated between layers and reduce the size of the Docker image by removing them.

Dive is a free and open source tool written in the Go language. But the Dive tool is more than just a Docker image analysis tool, it also helps users to build images.

Project homepage:Https://github.com/wagoodman/dive

Open source agreement: MIT

Development language: Go

22. bs framework: A new generation of C++ game development framework

Bs :: framework is a new generation of C++ game development framework that focuses on modern technology, high quality design and high performance, and is designed to provide a unified foundation for developing real-time graphics applications (games, engines or tools).

Bs::framework provides everything you need for graphics application development from audio, animation, GUI, input, physics, rendering to scripting systems. It also includes built-in support for more than 30 images, mesh and audio formats, as well as a wide range of math libraries, RTTI (run-time type information), CPU/GPU analysis, SIMD instruction API and more. Across Windows, Linux, and macOS platforms.

Project homepage:Https://www.bsframework.io/

Open source agreement: MIT

Development language: C/C++

23. DeepCreamPy: De-mosaic using deep neural networks

In order to better appreciate art works, developers can do everything they can. This magical open source project removes mosaics by using deep neural network technology. The method of using this tool is very simple. The user opens the image in a separate image editing program (such as GIMP or Photoshop), draws a green line on the part where the mosaic needs to be removed, and runs the program to automatically restore it.

Project homepage:https://github.com/deeppomf/DeepCreamPy

Open source agreement: AGPL

Development language: Python

24. Corretto: OpenJDK release

Amazon Corretto is a free, cross-platform OpenJDK distribution.

Corretto supports multiple platforms and can run on the cloud and on your local computer. Currently, Amazon Linux 2, Windows, macOS platforms, and Docker images provide Corretto 8 previews for OpenJDK 8. The Technology Compatibility Kit (TCK) runs on every Corretto version to ensure compatibility with the Java SE platform. Without the use of features not available in OpenJDK (such as Java Flight Recorder), Corretto can be used directly as a replacement for Java SE releases. Amazon plans to use Corretto as the default OpenJDK on Amazon Linux 2 in 2019.

Project homepage:Https://github.com/corretto/corretto-8

Open source agreement: GPLv2

Development language: Java, C/C++

Company: Amazon

25. browsh: a modern text-based web browser

Browsh is a plain text browser that runs in most TTY terminal environments and any web browser. It can render anything that modern browsers can render: HTML5, CSS3, JS,videoEven WebGL. Its main purpose is to run on a remote server and access it via SSH/Mosh or an HTML service within the browser to significantly reduce bandwidth, thereby increasing browsing speed and reducing bandwidth costs.

Project homepage:Https://www.brow.sh/

Open source agreement: GPLv3

Development language: JavaScript

26. Tabler: Bootstrap 4 based HTML dashboard UI kit

Tabler is an HTML dashboard UI suite based on Bootstrap 4 designed to provide a user-friendly, clear and simple management panel for simple and complexwebsitesystem.

Tabler supports mobile devices, tablets, and PCs, and supports Chrome, Firefox+, Safari, Opera, Internet Explorer 10+, and more. The code is easy to use and strictly follows the Bootstrap guidelines. CSS3 is used in most of its components to avoid using unnecessary JavaScript libraries.

Project homepage:Https://tabler.github.io/

Open source agreement: MIT

Development language: HTML, CSS

27. Grafana Loki: Log Aggregation System

Loki is a horizontally scalable, highly available, and multi-tenant log aggregation system. It is designed to be cost effective and easy to use because it does not index log content, but instead compiles a set of tags for each log stream. Project subjectPrometheusInspired.

Project homepage:Https://github.com/grafana/loki

Open source agreement: Apache-2.0

Development language: Go

28. Dopamine: Tensorflow-based reinforcement learning framework

Dopamine is a Tensorflow-based Reinforcement Learning (RL) framework from Google AI Labs designed to provide flexibility, stability and repeatability for novice and experienced RL researchers. Inspired by reward-motivated behavior in the brain, the framework reflects a strong historical connection between neuroscience and reinforcement learning research, aimed at achieving speculative research that can drive radical discovery.

Project homepage:Https://github.com/google/dopamine

Open source agreement: Apache-2.0

Development language: Python

Company: Google

29. GoCity: 3D Visualization Show Go Project Source

GoCity shows the source code of the Go project in a 3D visual way. GoCity treats the Go project as a city and follows the following conventions:

  • Think of the entire project as a “zone” of the city

  • Think of the Go file in the project as the "building" of the city

  • Think of the data structure in the Go source file as a "building" built on top of the file (and the Go file is distinguished by color)

Project homepage:Https://go-city.github.io/

Open source agreement: MIT

Development language: Go

30. Trill: High Performance Stream Analysis Engine

Trill is Microsoft's open source, high-performance single-channel memory stream analysis engine that processes real-time and offline data based on temporal data and query models.

Trill can be used as a streaming engine, a lightweight memory relational engine, and a progressive query processor. Trill can handle one trillion (trillion) events per day, 2-4 times faster than the data analysis engine on the market today.

Project homepage:https://github.com/Microsoft/trill

Open source agreement: MIT

Development language: C#

Company: Microsoft

31. NiftyNet: Open Source Convolutional Neural Network and Medical Image Analysis Platform

NiftyNet is an open source convolutional neural network platform based on TensorFlow for medical image analysis and image-oriented treatment. NiftyNet has a modular architecture that shares network architecture and pre-trained models. Using this module architecture, you can:

  • Use built-in tools to start with a well-established pre-training network;

  • Transform existing networks based on their own image data;

  • Quickly build new solutions based on your own image analysis problems.

Project homepage:Http://www.niftynet.io/

Open source agreement: Apache-2.0

Development language: Python

32. Kubeless: Kubernetes native Serverless framework

China IT News APP

Download China IT News APP

Please rate this news

The average score will be displayed after you score.

Post comment

Do not see clearly? Click for a new code.

User comments