DEV Community

Iain Freestone
Iain Freestone

Posted on • Updated on

๐Ÿš€10 Trending projects on GitHub for web developers - 24th July 2020

Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.

1. Adobe - React Spectrum

A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences.

GitHub logo adobe / react-spectrum

A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences.

React Spectrum Libraries

A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences.

React Spectrum

A React implementation of Spectrum, Adobeโ€™s design system. Spectrum provides adaptive, accessible, and cohesive experiences for all Adobe applications.

Explore React Spectrum

React Aria

A library of React Hooks that provides accessible UI primitives for your design system.

Learn more about React Aria

React Stately

A library of React Hooks that provides cross-platform state management for your design system.

More information about React Stately

Features

  • โ™ฟ๏ธ Accessible โ€“ Accessibility and behavior is implemented according to WAI-ARIA Authoring Practices, including full screen reader and keyboard navigation support. All components have been tested across a wide variety of screen readers and devices to ensure the best experience possible for all users.
  • ๐Ÿ“ฑ Adaptive โ€“ All components are designed to work with mouse, touch, and keyboard interactions. Theyโ€™re built with responsiveโ€ฆ

2. Web Developer Roadmap 2020

Roadmap to becoming a web developer in 2020

GitHub logo kamranahmedse / developer-roadmap

Roadmap to becoming a web developer in 2021

Web Developer Roadmap - 2021

Roadmap to becoming a web developer in 2021

Below you find a set of charts demonstrating the paths that you can take and the technologies that you would want to adopt in order to become a frontend, backend or a devops. I made these charts for an old professor of mine who wanted something to share with his college students to give them a perspective; sharing them here to help the community.


Special Announcement:

We now have a YouTube Channel
I plan on covering the roadmaps and put more content there
Subscribe to the channel.


Purpose of these Roadmaps

The purpose of these roadmaps is to give you an idea about the landscape and to guide you if you are confused about what to learn next and not to encourage you to pick what is hip and trendy. You should grow some understanding of why one tool would beโ€ฆ


3. Foam

Foam is a personal knowledge management and sharing system inspired by Roam Research, built on Visual Studio Code and GitHub.

GitHub logo foambubble / foam

A personal knowledge management and sharing system for VSCode

Foam

๐Ÿ‘€This is an early stage project under rapid development. For updates join the Foam community Discord! ๐Ÿ’ฌ

All Contributors

Discord Chat

Foam is a personal knowledge management and sharing system inspired by Roam Research, built on Visual Studio Code and GitHub.

You can use Foam for organising your research, keeping re-discoverable notes, writing long-form content and, optionally, publishing it to the web.

Foam is free, open source, and extremely extensible to suit your personal workflow. You own the information you create with Foam, and you're free to share it, and collaborate on it with anyone you want.

How do I use Foam?

Whether you want to build a Second Brain or a Zettelkasten, write a book, or just get better at long-term learning, Foam can help you organise your thoughts if you follow these simple rules:

  1. Create a single Foam workspace for all your knowledge and research followingโ€ฆ

4. ReDoc

OpenAPI/Swagger-generated API Reference Documentation

GitHub logo Redocly / redoc

๐Ÿ“˜ OpenAPI/Swagger-generated API Reference Documentation

ReDoc logo

OpenAPI/Swagger-generated API Reference Documentation

Build Status Coverage Status dependencies Status devDependencies Status npm License

bundle size npm Docker Build Status

This is README for 2.0 version of ReDoc (React based). README for 1.x version is on the branch v1.x

ReDoc demo

Live demo

Deploy to Github ReDoc as a service Customization services

Features

  • Extremely easy deployment
  • redoc-cli with ability to bundle your docs into zero-dependency HTML file
  • Server Side Rendering ready
  • The widest OpenAPI v2.0 features support (yes, it supports even discriminator)
  • OpenAPI 3.0 support
  • Basic OpenAPI 3.1 support
  • Neat interactive documentation for nested objects
  • Code samples support (via vendor extension)
  • Responsive three-panel design with menu/scrolling synchronization
  • Integrate API Introduction into side menu - ReDoc takes advantage of markdown headings from OpenAPI description field. It pulls them into side menu and also supports deep linking.
  • High-level grouping in side-menu via x-tagGroups vendor extension
  • Simple integration with create-react-app (sample)
  • Branding/customizations via theme option

Roadmap

  • OpenAPI v3.0 support
  • performance optimizations
  • better navigation (menu improvements + search)
  • React rewrite
  • docs pre-rendering (performance and SEO)
  • ability to simpleโ€ฆ

5. x-spreadsheet

A web-based JavaScript spreadsheet

GitHub logo myliang / x-spreadsheet

A web-based JavaScript๏ผˆcanvas๏ผ‰ spreadsheet

x-spreadsheet

npm package NPM downloads NPM downloads Build passing codecov GitHub GitHub code size in bytes Join the chat at https://gitter.im/x-datav/spreadsheet

A web-based JavaScript spreadsheet

Document

CDN

<link rel="stylesheet" href="https://unpkg.com/x-data-spreadsheet@1.1.5/dist/xspreadsheet.css">
<script src="https://unpkg.com/x-data-spreadsheet@1.1.5/dist/xspreadsheet.js"></script>

<script>
   x_spreadsheet('#xspreadsheet');
</script>
Enter fullscreen mode Exit fullscreen mode

NPM

npm install x-data-spreadsheet
Enter fullscreen mode Exit fullscreen mode
<div id="x-spreadsheet-demo"></div>
Enter fullscreen mode Exit fullscreen mode
import Spreadsheet from "x-data-spreadsheet";
// If you need to override the default options, you can set the override
// const options = {};
// new Spreadsheet('#x-spreadsheet-demo', options);
const s = new Spreadsheet("#x-spreadsheet-demo")
  .loadData({}) // load data
  .change(data => {
    // save data to db
  });

// data validation
s.validate()
Enter fullscreen mode Exit fullscreen mode
// default options
{
  mode: 'edit', // edit | read
  showToolbar: true,
  showGrid: true,
  showContextmenu: true,
  view: {
โ€ฆ
Enter fullscreen mode Exit fullscreen mode

6. Wiki.js

A modern, lightweight and powerful wiki app built on NodeJS

GitHub logo Requarks / wiki

Wiki.js | A modern and powerful wiki app built on Node.js

Wiki.js

Release License Backers on Open Collective Downloads Docker Pulls
Build status Quality Gate Status Maintainability Rating Security Rating Standard - JavaScript Style Guide
Chat on Slack Twitter Follow Reddit Subscribe to Newsletter

A modern, lightweight and powerful wiki app built on NodeJS

Follow our Twitter feed to learn about upcoming updates and new releases!

Donate

Wiki.js is an open source project that has been made possible due to the generous contributions by community backers. If you are interested in supporting this project, please consider becoming a sponsor, becoming a patron, donating to our OpenCollective, via Paypal or via Ethereum (0xe1d55c19ae86f6bcbfb17e7f06ace96bdbb22cb5).

Become a Sponsor Become a Patron Donate on OpenCollective Donate via Paypal
Donate via Ethereum Donate via Bitcoin Buy a T-Shirt

GitHub Sponsors

Support this project by becoming a sponsor. Your name will show up in the Contribute page of all Wiki.js installations as well as here with a link to your website! [Become a sponsor]

  • โ€ฆ

7. Rocket

Rocket is an async web framework for Rust with a focus on usability, security, extensibility, and speed.

GitHub logo SergioBenitez / Rocket

A web framework for Rust.

Rocket

Build Status Rocket Homepage Current Crates.io Version Matrix: #rocket:mozilla.org IRC: #rocket on irc.libera.chat

Rocket is an async web framework for Rust with a focus on usability, security extensibility, and speed.

#[macro_use] extern crate rocket;

#[get("/<name>/<age>")]
fn hello(name: &str, age: u8) -> String {
    format!("Hello, {} year old named {}!", age, name)
}

#[launch]
fn rocket() -> _ {
    rocket::build().mount("/hello", routes![hello])
}
Enter fullscreen mode Exit fullscreen mode

Visiting localhost:8000/hello/John/58, for example, will trigger the hello route resulting in the string Hello, 58 year old named John! being sent to the browser. If an <age> string was passed in that can't be parsed as a u8, the route won't get called, resulting in a 404 error.

Documentation

Rocket is extensively documented:


8. Fastify

Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture. It is inspired by Hapi and Express and as far as we know, it is one of the fastest web frameworks in town.

GitHub logo fastify / fastify

Fast and low overhead web framework, for Node.js

CI Package Manager CI Web SIte Known Vulnerabilities Coverage Status js-standard-style

NPM version NPM downloads Security Responsible Disclosure Discord


An efficient server implies a lower cost of the infrastructure, a better responsiveness under load and happy users How can you efficiently handle the resources of your server, knowing that you are serving the highest number of requests as possible, without sacrificing security validations and handy development?

Enter Fastify. Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture. It is inspired by Hapi and Express and as far as we know, it is one of the fastest web frameworks in town.

Quick start

Create a folder and make it your current working directory:

mkdir my-app
cd my-app
Enter fullscreen mode Exit fullscreen mode

Generate a fastify project with npm init:

npm init fastify
Enter fullscreen mode Exit fullscreen mode

Install dependencies:

npm install
Enter fullscreen mode Exit fullscreen mode

To start the app in dev mode:

npm run dev
Enter fullscreen mode Exit fullscreen mode

For production mode:

npm start
Enter fullscreen mode Exit fullscreen mode

Under the hood npm init downloads and runs Fastify Createโ€ฆ


9. Handsontable

Handsontable is a JavaScript/HTML5 data grid component with spreadsheet look & feel.
It provides easy data binding, data validation, filtering, sorting and CRUD operations.

GitHub logo handsontable / handsontable

JavaScript data grid with a spreadsheet look & feel. Works for React, Angular, and Vue. Supported by the Handsontable team โšก

Handsontable

Handsontable is a JavaScript component that combines data grid features with spreadsheet-like UX.
It provides data binding, data validation, filtering, sorting, and CRUD operations.

npm npm Build status FOSSA Status Known Vulnerabilities


Get Started with Handsontable

Reactย  Angularย  Vueย  ย  JavaScriptย 

Handsontable data grid

Features

The most popular features of Handsontable:

ย ย โœ“ย  Multiple column sorting
ย ย โœ“ย  Non-contiguous selection
ย ย โœ“ย  Filtering data
ย ย โœ“ย  Export to file
ย ย โœ“ย  Validating data
ย ย โœ“ย  Conditional formatting
ย ย โœ“ย  Merging cells
ย ย โœ“ย  Freezing rows/columns
ย ย โœ“ย  Moving rows/columns
ย ย โœ“ย  Resizing rows/columns
ย ย โœ“ย  Hiding rows/columns
ย ย โœ“ย  Context menu
ย ย โœ“ย  Comments

Documentation

Get Started

Install with npm

Run the following command in your terminal

npm install handsontable

You can also use Yarn, NuGet or load the bundle directly from jsDelivr.

Create a placeholder

Create an HTML placeholder

<div id="example"></div>
Enter fullscreen mode Exit fullscreen mode

Import Handsontable and its stylesheet

import Handsontable from "handsontable";
import 'handsontable/dist/handsontable.full.css';
Enter fullscreen mode Exit fullscreen mode

Initialize the grid

โ€ฆ


10. Animate.css

Just-add-water CSS animation

GitHub logo animate-css / animate.css

๐Ÿฟ A cross-browser library of CSS animations. As easy to use as an easy thing.

Animate.css

GitHub Version Github Star Github Fork License

If you need the old docs - v3.x.x and under - you can find it here.

Just-add-water CSS animation

Installation

Install with npm:

npm install animate.css --save
Enter fullscreen mode Exit fullscreen mode

Install with yarn:

yarn add animate.css
Enter fullscreen mode Exit fullscreen mode

Getting started

You can find the Animate.css documentation on the website.

Accessibility

Animate.css supports the prefers-reduced-motion media query so that users with motion sensitivity can opt out of animations. On supported platforms (currently all the majors browsers and OS), users can select "reduce motion" on their operating system preferences and it will turn off CSS transitions for them without any further work required.

Core team

Daniel Eden Elton Mesquita Waren Gonzaga
Daniel Eden Elton Mesquita Waren Gonzaga
Animate.css Creator Maintainer Core Contributor

License

Animate.css is licensed under the MIT license. https://opensource.org/licenses/MIT

Code of Conduct

This project and everyone participating in it is governed by the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this codeโ€ฆ


Trending Projects is available as a weekly newsletter please sign up at www.iainfreestone.com to ensure you never miss an issue.

If you enjoyed this article you can follow me on Twitter where I regularly post bite size tips relating to HTML, CSS and JavaScript.

Oldest comments (2)

Collapse
 
shadowtime2000 profile image
shadowtime2000

For Tabler Icons you put the link to the Github repository for wiki.js

Collapse
 
iainfreestone profile image
Iain Freestone

Thank you, I clicked publish by accident before I had updated this weeks article. It should all be up to date now.

Tabler Icons was included last week if you are interested