JavaScript-Based GitHub Repos We Can Use
Tags: javascript, beginners, tutorial, webdev
Published: 2020-05-26 01:42:21

**Subscribe to my email list now at http://jauyeung.net/subscribe/**

**Follow me on Twitter at https://twitter.com/AuMayeung**

**Many more articles at https://medium.com/@hohanga**

**Even more articles at http://thewebdev.info/**

Many JavaScript libraries and frameworks are hosted on Github.

In this article, we’ll look at the top libraries, frameworks, and full programs on Github we can potentially use now or later.

[vuejs / vue](https://github.com/vuejs/vue)
===========================================

Vue.js is no question one of the best front end frameworks for creating new front end apps or enhancing existing ones.

It’s progressive so it can be included in a script along with other Vue libraries that can also be added with script tags.

Also, we can make new apps with the Vue CLI, which has lots of tools for us to create our app and build them the way we want to.

The ecosystem of libraries and users using it to build their apps is increasing regularly.

[agalwood / Motrix](https://github.com/agalwood/Motrix)
=======================================================

Motrix is a download manager that’s written in JavaScript. It supports downloading from various sources via HTTP, FTP, BitTorrent, Magnet, etc.

It runs on Windows, macOS, or Linux.

[PanJiaChen / vue-admin-template](https://github.com/PanJiaChen/vue-admin-template)
===================================================================================

A simple admin template for Vue.js that we can add to our apps. We can just clone this into our system and start customizing to our own needed.

[zloirock / core-js](https://github.com/zloirock/core-js)
=========================================================

Core-js is a library with polyfills for the features in the JavaScript standard libraries like new arrays and string methods and more.

Methods included include array methods like `from` and `flat` . Also, array-like objects like sets and maps are included with this library.

It also includes its own polyfill for promises.

Other than that, pretty much anything that are included in the last few years’ releases of JavaScript is implemented in this library.

However, polyfills are slower than the standard library that’s built into browsers themselves, so we should use this only if our app is target browsers that don’t have these features.

[youzan / vant](https://github.com/youzan/vant)
===============================================

The repository has lightweight components that are made to work with Vue.js apps.

It supports babel-plugin-import, custom theming, internationalization, TypeScript, and server-side rendering.

According to the [documentation](https://youzan.github.io/vant/#/en-US/home), there are lots of components available, including slides, buttons, cell,s icons, images, layout containers, sliders, radio, pickers and more.

[vuejs / vuex](https://github.com/vuejs/vuex)
=============================================

Vuex is the preferred state management solution for Vue apps. It lets us create a central data store for our Vue app so that we can share data between any component.

This is important since it makes sharing data between components a lot cleaner than passing them all with props.

[mozilla](https://github.com/mozilla)/[pdf.js](https://github.com/mozilla/pdf.js)
=================================================================================

PDF.js is a PDF viewer library that we can embed into front end JavaScript apps.

It’s in active development so that we can be sure that new features and fixes will be added.

[emberjs](https://github.com/emberjs)/[ember.js](https://github.com/emberjs/ember.js)
=====================================================================================

Ember.js is a JavaScript front end framework that isn’t as popular as Angular, Vue or React. But it’s still being actively maintained and has an active ecosystem of libraries made for it and users that use it to build apps.

It’s also not very hard to learn, so we may want to use it to create our apps.

[zeit](https://github.com/zeit)/[hyper](https://github.com/zeit/hyper)
======================================================================

Hyper is a terminal program that’s written in HTML, CSS, and JavaScript.

Because of that, it’s also a cross-platform program. We can use it with Windows, Linux or macOS.

It also has various plugins made for it to extend its functionality.

There’re extensions for opening extra tabs with the same directory as the current tab.

Also, there’s one to add search and another one to add better navigation with keyboard shortcuts.

[zeit](https://github.com/zeit)/[next.js](https://github.com/zeit/next.js)
==========================================================================

Next.js is a framework that’s based on React, which lets us create static sites and server-side rendered front ends with ease.

It has many features that React doesn’t have like data fetching, serving static files, routing and much more.

To make creating a new Next.js project easy, there’s a CLI program made for it.

[sindresorhus](https://github.com/sindresorhus)/[eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
==============================================================================================================================

eslint-plugin-unicorn is an ESLint plugin that adds many more rules to ESLint to enhance its linting capabilities.

By default, ESLint has lots of rules, but they may not be suitable for all environments. So this plugin gives us another choice on the linting rules that we want to use.

Conclusion
==========

We can build front ends with Next, Vue, and Ember.

Also, we can build full programs like the Hyper terminal program, which is built with HTML, CSS, and JavaScript and works everywhere.

PDF.js lets us add a PDF viewer widget to our page with ease.