All Projects → soyguijarro → magic-web

soyguijarro / magic-web

Licence: MIT license
Discover all the amazing things your browser can do

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to magic-web

Web.dev
The frontend, backend, and content source code for web.dev
Stars: ✭ 2,370 (+5976.92%)
Mutual labels:  progressive-web-app, web-app
learn-web-development
Learn Web Development from Top Articles of 2017
Stars: ✭ 64 (+64.1%)
Mutual labels:  progressive-web-app, web-app
sc2gears
The COMPLETE (!) source code of the Sc2gears universe (Sc2gears app + Sc2gears Database + web-based parsing engine - bundled in an Eclipse project).
Stars: ✭ 30 (-23.08%)
Mutual labels:  web-app, web-api
currency-converter
💰 Easily convert between 32 currencies
Stars: ✭ 16 (-58.97%)
Mutual labels:  progressive-web-app, web-app
Super Progressive Web Apps
SuperPWA helps to convert your WordPress website into Progressive Web Apps instantly. PWA (Progressive Web Apps) demo at : https://superpwa.com and Plugin :
Stars: ✭ 304 (+679.49%)
Mutual labels:  progressive-web-app, web-app
quiz-app
🏆 QuizApp is a free and open-source quiz application that lets you play fully customized quizzes right in the browser.
Stars: ✭ 97 (+148.72%)
Mutual labels:  progressive-web-app, web-app
schsrch
Simple and intuitive CIE search engine
Stars: ✭ 35 (-10.26%)
Mutual labels:  progressive-web-app, web-app
Alumna
[Alpha release of v3] Development platform for humans / Plataforma de desenvolvimento para humanos
Stars: ✭ 32 (-17.95%)
Mutual labels:  progressive-web-app, web-app
Webfundamentals
Best practices for modern web development
Stars: ✭ 12,335 (+31528.21%)
Mutual labels:  progressive-web-app, web-app
progressive-web-app-starter
Preact based starter kit for making a Progressive Web App (PWA).
Stars: ✭ 19 (-51.28%)
Mutual labels:  progressive-web-app
meteor-boilerplate
A Meteor ready-to-use app for Blaze + FlowRouter, with a bunch a handy functions, objects, packages, etc
Stars: ✭ 14 (-64.1%)
Mutual labels:  web-app
FastEndpoints
A light-weight REST API development framework for ASP.Net 6 and newer.
Stars: ✭ 2,386 (+6017.95%)
Mutual labels:  web-api
next-with-workbox
Higher order Next.js config to generate service workers
Stars: ✭ 22 (-43.59%)
Mutual labels:  progressive-web-app
unpackai
The Unpack.AI library
Stars: ✭ 20 (-48.72%)
Mutual labels:  educational
awesome-webhid
Curated list of resources relating to the WebHID (Human Interface Device) API
Stars: ✭ 126 (+223.08%)
Mutual labels:  web-api
TheLastTime
C# .NET 5 Blazor WebAssembly Progressive Web Application that tracks when was the last time you did something
Stars: ✭ 23 (-41.03%)
Mutual labels:  progressive-web-app
FSharp.JsonApi
Use F# to create and consume flexible, strongly typed web APIs following the JSON:API specification
Stars: ✭ 20 (-48.72%)
Mutual labels:  web-api
jesi
Hypermedia API Accelerator
Stars: ✭ 19 (-51.28%)
Mutual labels:  web-api
interaction-design-in-a-nutshell
A dense, clearly defined, and small guide to interaction design
Stars: ✭ 13 (-66.67%)
Mutual labels:  educational
webogram
Telegram web application, GPL v3
Stars: ✭ 7,752 (+19776.92%)
Mutual labels:  progressive-web-app

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].