How to find OSS trends for web development

Overview

It is difficult to choose the right OSS from the number of stars. However, it's easy to know the trends of popular OSS if you know how to do it. Here, we have organized how to check OSS trends to help you select OSS.

OSS related terms

OSS related terms.

OSS evaluation method

The academic evaluation method of OSS was actively discussed, with about 20 types proposed by Carnegie Mellon University and others in the early 2000s. The evaluation method is detailed at the link below.

[Open Source Software Assessment Method](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD % E3% 83% BC% E3% 82% B9% E3% 82% BD% E3% 83% 95% E3% 83% 88% E3% 82% A6% E3% 82% A7% E3% 82% A2% E8 % A9% 95% E4% BE% A1% E6% 89% 8B% E6% B3% 95)

Research on evaluation methods has since declined, and few papers are currently available (around 2020). Instead, the proposed evaluation methods are being verified and compared.

-[Takudai Matsumoto, et al. Initial survey for OSS preliminary evaluation for OSS introduction in product development. Research Report Software Engineering (SE), 2015, 2015.1: 1-5.](Https: // ipsj. ixsq.nii.ac.jp/ej/index.php?action=pages_view_main&active_action=repository_action_common_download&item_id=146487&item_no=1&attribute_id=1&file_no=1&page_id=13&block_id=8)

According to this, the smaller the cyclomatic complexity and the number of commits, the more books and website commentary articles, the better the quality. (I think it's natural ...)

General

Datanyze

You can check the market share of technology by genre.

Datanyze

Screenshot from 2020-07-20 23-39-55.png

Datanyze is a private research company that has partnered with Nikkei newspaper. It uses AI to analyze the 35M + website to find out which company is using what technology tool and publish it.

libraries.io Libraries.io is a web service that allows you to search for 3,190,103 packages from 36 package managers. Monitor package releases, analyze code, communities, distributions, and documentation for each project, and map dependencies. You can log in with your GitHub account.

Libraries.io indexes data from 3,190,103 packages from 36 package managers. We monitor package releases, analyse each project's code, community, distribution and documentation, and we map the relationships between packages when they're declared as a dependency. Source: libraries.io

libraries.io

libraries.io.png

Google Trend Time-varying trends for a particular OSS can be seen in Google Trends.

Google Trends

google_trends.png

GitHub You can easily find the latest popular OSS by language or by language on GitHub.

Trending repositories on GitHub this month

github.png

Qiita Popular topics for Japanese users can be found in Qiita's tag rankings.

Qiita --Tag Ranking

Handbook and roadmap

Front-end Developer Handbook

A handbook compiled by Front-end Masters. Updated annually.

Front-end Developer Handbook 2019

Front-end_Developer_Handbook_2019.png

Front-end Masters

Webiner by software engineers such as MS, Adobe, Netflix, Vue.js.

Front-end Masters

Front-end_Masters.png

Roadmap

For an overview of web development trends, see kamranahmedse's roadmap for becoming a web developer. This roadmap is starred by a large number of people on GitHub.

Roadmap to becoming a web developer in 2018

Cloud Native Interactive Landscape

CNCF (Cloud Native Computing Foundation) is a cloud native under The Linux Foundation A non-profit industry group that is operated with the aim.

Here's a landscape of OSS tools that are useful for cloud development.

CNCF Cloud Native Interactive Landscape

This site is convenient because it can be sorted from the viewpoint of Category, License, etc.

Vulnerability

JVN iPedia Well-known OSS vulnerability trends and countermeasures can be found on the JVN site.

JVN iPedia

What is JVN? JVN is an abbreviation for "Japan Vulnerability Notes". This is a vulnerability countermeasure information portal site that provides information related to vulnerabilities such as software used in Japan and countermeasure information, and aims to contribute to information security measures. -What is JVN

Alternatives Alternative means an alternative to some software, especially in the OSS area.

AlternativeTo A site specializing in Alternative. It's nice to be able to filter by license type (Free, Commercial, OpenSource) and platform (OS).

AlternativeTo

76,810 apps 687,796 likes 566,964 opinions about alternatives. Reviews, comments and recommendations. Sign up with Facebook, Twitter, GitHub and and more.

StackShare

A site specializing in tool comparisons. Compared to AlternativeTo, OSS tends to be ranked higher than COTS. Is it a difference in the user population?

stackshare.io

Slant.io An SNS that specializes in aggregating questions and their answers. If someone asks Alternative, you can see the trend from the number of answers.

slant.io

Customize your Recommendation Feed to get started on Slant. Find what you love and get help with what you need.

G2Crowd

Various software and services are categorized and organized. It's nice to be able to compare similar software by category on the two axes of Market Presence and Satisfication.

Get the right software & services for your business 606,400+ validated user reviews to help you make smarter decisions

G2Crowd

G2Crowd.png

JavaScript

JavaScript ranking site

Some sites collect JavaScript libraries and rank them independently.

JavaScripting.com

The definitive source of the best JavaScript libraries, frameworks, and plugins.

JavaScripting.com

JavaScripting.com.png

Best of JavaScript

A curated list of the most popular open-source projects related to the web platform and node.js.

Best of JavaScript

Best_of_JavaScript.png

npm Popular packages available on npm can be found on the npm site.

npm

npm trends npm trends is a handy site where you can find trends on npm packages.

npm trends is a website that allows you to visualize the transition of the number of DLs of packages registered on npm as a graph and even compare them. "Npm trends" is recommended when investigating the transition of trends in the JavaScript area

npmtrends

You can easily make such a figure.

npmtrends.png

Bower Popular packages available on bower can be found on the bower site.

Bower - Bower Search

Java

Maven If you look at Maven's top projects, which are well-known as Java package managers, you can see trends in Java packages.

Maven Repository: Top Projects at Maven Repository

Eclipse If you look at the ranking of Eclipse plugins for Java development tools, you can see trends in frameworks and configuration management tools.

eclipse marketplace > SUCCESSFUL INSTALLS > LAST30DAYS

Python The Python Package Index

You can find out about recent trends in Python packages on the familiar PyPI site with the pip command.

PyPI – the Python Package Index · PyPI

pypi.png

PyPI Stats

Time-varying number of PyPI downloads

PyPI Stats

pypistats.png

OS

netmarketshare

OS trends can be found on the site of US research firm Net Applications.

Net Applications - netmarketshare

Linux distribution

You can see the popular Linux distribution rankings that users choose on DistroWatch.

DistroWatch.com

Keep in mind that it's just the user's choice, not the market share.

DB

DB engine

You can see the share by DB type.

DB-Engines Ranking

Screenshot from 2020-04-14 22-35-54.png

Virtual Machine

Docker You can find out about popular operating systems and applications by looking at the Docker container registry site.

Docker

Vagrant Box If you look at Vagrant's Virtual Box repository site, you can see popular operating systems and virtual environments.

Vagrant Cloud - Discover Vagrant Boxes

Ansible Galaxy Take a look at Ansible Galaxy to see popular development tools and virtual environments.

Ansible Galaxy - Explorer Roles

browser

netmarketshare

Browser trends can be found on the site of US research firm Net Applications.

Net Applications - netmarketshare

Screenshot from 2020-04-14 22-41-25.png

Recommended Posts

How to find OSS trends for web development
How to use GitHub for super beginners (team development)
How to install Web application for each language in Nginx
How to find May'n in XPath
How to specify validation for time_field
How to install JMeter for Mac
How to find the average angle
Angular framework features for web development
How to find Java prime numbers
How to use binding.pry for view files
How to install Play Framework 2.6 for Mac
How to create a Maven repository for 2020
[Ruby] How to use slice for beginners
How to find the tens and ones
Needed for iOS 14? How to set NSUserTrackingUsageDescription
[For beginners] How to debug in Eclipse
[For beginners] Laravel Docker AWS (EC2) How to easily deploy Web application (PHP) from 0 (free) ②-Docker development environment construction-
How to find the cause of the Ruby error
[Java] How to test for null with JUnit
Java Development Basics ~ How to Write Programs * Exercise 1 ~
How to display a web page in Java
How to use an array for HashMap keys
How to create pagination for a "kaminari" array
[Rails] How to implement unit tests for models
[For beginners] How to implement the delete function
How to make a lightweight JRE for distribution
[Java] (for MacOS) How to set the classpath
Rails6.0 ~ How to create an eco-friendly development environment
[Rails] How to use Gem'rails-i18n' for Japanese support
How to find the total score and average score
How to use nginx-ingress-controller with Docker for Mac
[For super beginners] How to use autofocus: true
How to specify index of JavaScript for statement
[Java] How to make multiple for loops single
How to implement Pagination in GraphQL (for ruby)
How to deploy
How to check the WEB application created in the PC development environment on your smartphone
How to quit Docker for Mac and build a Docker development environment with Ubuntu + Vagrant
How to implement login request processing (Rails / for beginners)
How to set Dependency Injection (DI) for Spring Boot
[Rails] How to create a signed URL for CloudFront
How to build Docker + Springboot app (for basic learning)
How to use an array for a TreeMap key
How to write a unit test for Spring Boot 2
How to build docker environment with Gradle for intelliJ
Rails / Ruby: How to get HTML text for Mail
How to deal with No template for interactive request
[Ruby] How to find the sum of each digit
[For beginners] How to operate Stream API after Java 8
[Spring Boot] How to create a project (for beginners)
Things to watch out for in future Java development
Java development for beginners to start from 1-Vol.1-eclipse setup
How to use Truth (assertion library for Java / Android)
[For those who create portfolios] How to use font-awesome-rails
How to build Java development environment with VS Code
How to make Laravel faster with Docker for Mac
How to make a mod for Slay the Spire
How to loop Java Map (for Each / extended for statement)
[Java] Platforms to choose from for Java development starting now (2020)
How to execute WebCamCapture sample of NyARToolkit for Java
How to study kotlin for the first time ~ Part 2 ~