Giter Club home page Giter Club logo

magic-web's Introduction

Magic Web

Banner

Magic Web is a web app that helps you discover all the amazing things your browser can do. It features a series of small demos that showcase different standard Web APIs, both present and future. The idea is that people, particularly developers, can try a bunch of these Web APIs in a single place to get a sense of what's possible, and even take a look at the code in this repository to see how they can use them.

Technology

The web app is build with React. Styles are written in plain CSS and automatically prefixed with Autoprefixer. Babel is used for transpiling and Webpack for module bundling. Create React App was used to take care of all this tooling. All routing is handled client-side with React Router and service worker code for offline support is automatically generated with sw-precache. The site is hosted in GitHub Pages and deployed with gh-pages's command line utility through a simple npm script.

A number of Web APIs are showcased and hence used within the app, from well-established to cutting edge ones, such as Geolocation, Media Devices, Notifications, Web Speech, Web Bluetooth, Payment Request and others. Every demo in the app lists all the Web APIs that are involved below its title. All code directly related to Web APIs is isolated in different modules inside the helpers folder, so that you need to know nothing but plain JavaScript to take a look at it.

Motivation

The project started as a consequence of me submitting a talk proposal to Front Fest 2017. I had recently watched this talk on Web Bluetooth from the Chrome Dev Summit 2015 and had been blown away by it. I had also recently read about the Payment Request API, so I thought a good idea for a talk would be to showcase some of these new, less-known capabilities of the web platform. My proposal was accepted and it was then when I thought that I'd be much more interesting and impactful to turn my talk into a live demo in the form of a web app that the audience could later peruse on their own.

Acknowledgments

The design of the web app tries to follow the Material design guidelines. The icons used throughout the app are in fact part of the Material icon set and Roboto is used as the only typeface. The name and primary color of the web app are inspired by this GIF, which is the image that came to mind when I first learned about some of the newest Web APIs.

The Create React PWA repository was of great help to turn the React app built with Create React App into a progressive web app. Also of great help was Single Page Apps for GitHub Pages, to make client-side routing with React Router work with GitHub Pages.

License and issues

The source code of the web app is released under the MIT License. The full text of the license is available in the LICENSE file. If you find any errors or have suggestions for this project, please open an issue and I'll do my best to help.

magic-web's People

Contributors

roboe avatar soyguijarro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.