WebDev

From Things and Stuff Wiki
Jump to navigation Jump to search


Quick



data:text/html, <html contenteditable>
  quick nodepad [2]

data uri: ACE with Vim keybindings [3]


General

See also Development


  • pineapple.io - A central hub of Tutorials, Tools and Assets for developers and designers




Web design

See also Design, UI






Commercial

Basic project

  • domain
  • hosting or provision
  • backups
  • analytics
  • initialise project
  • fill with content - get a copywriter


  • Webfonts for headings, paragraphs, navigation, etc. (optimised via Font Squirrel)
  • Scale and vertical rhythm baseline (proportions for font-size and line-height)
  • Visual hierarchy
  • Main and section colour palette (CSS)
  • And other creative magick


  • Check in different browsers
  • Quick; Ask folk for remote feedback
  • Detailed; Get folk to browse it, quietly watch over their shoulder, tell them to access certain info, ask them to vocalise all thoughts, write down their actions and issues, communicate more, refine design, implement

Productivity

Documentation

  • Read the Docs hosts documentation, making it fully searchable and easy to find. You can import your docs using any major version control system, including Mercurial, Git, Subversion, and Bazaar. We support webhooks so your docs get built when you commit code. There's also support for versioning so you can build docs from tags and branches of your code in your repository.
  • OverAPI.com - Collecting All Cheat Sheets

News and blogs

Opinion

  • Slant is a collaboratively edited resource that helps you quickly make decisions.

Guides and articles

  • Ops School is a comprehensive program that will help you learn to be an operations engineer.

CSS


oocss

Development

  • Page Weight Matters - "By keeping your client side code small and lightweight, you can literally open your product up to new markets."

Books

Humour

Tools

See also Browsers

  • pup is a command line tool for processing HTML. It reads from stdin, prints to stdout, and allows the user to filter parts of the page using CSS selectors. Inspired by jq, pup aims to be a fast and flexible way of exploring HTML from the terminal. [12]

Network

See Network

Coding

  • Bookmarklet Crunchinator - Based on the Javascript Crunchinator Demo, you can use this to quickly create a bookmarklet from some javascript code. Enter your javascript code in the text area below Input. Enter a name for the bookmarklet in the Name field. Click crunch, and the code will be compressed, and turned into a link under output. You can then drag this to your bookmarks toolbar as a bookmarklet, or right click and bookmark it, or just click it to try it out. Note that your code will automatically be wrapped in a function to make it bookmarklet-friendly.
  • EightPack consists of the following tools: JSLint, JSHint, JS Beautifier, JSMin, CSS Beautify, and cssmin.js. Uses V8 engine.
  • JShrink is a php class that minifies javascript so that it can be delivered to the client quicker. This code can be used by any product looking to minify their javascript on the fly (although caching the results is suggested for performance reasons). Unlike many other products this is not a port into php but a native application, resulting in better performance.
  • CSSO (CSS Optimizer) is a CSS minimizer unlike others. In addition to usual minification techniques it can perform structural optimization of CSS files, resulting in smaller file size compared to other minifiers. Node.js.
  • Collide is an open-source "collaborative IDE" demonstration. Pick a folder you want to edit on your local file system. Run Collide from the command line in that folder. You and your amigos browse to http://your_host_name:8080. Collaboratively edit :). Java.
  • CSSLint is a tool to help point out problems with your CSS code. It does basic syntax checking as well as applying a set of rules to the code that look for problematic patterns or signs of inefficiency. The rules are all pluggable, so you can easily write your own or omit ones you don't want.
  • Initializr is an HTML5 templates generator to help you getting started with a new project based on HTML5 Boilerplate. It generates for you a clean customizable template with just what you need to start!


Validation

  • HTML Inspector is a highly-customizable, code quality JavaScript tool to help you (and your team) write better markup. It aims to find a balance between the uncompromisingly strict W3C validator and having absolutely no rules at all (the unfortunate reality for most of us).


Cleanup and Optimisation

to merge with other sections

HTML

  • Holmes is stand-alone diagnostic CSS stylesheet that can highlight potentially invalid, inaccessible or erroneous HTML(5) markup by adding one class.

CSS

  • CSSess is a JS tool that helps find extra CSS rules on your site. It is designed to be used as a bookmarklet. CSSess has many improvements over Helium:
  • CSS tools - Check, refactor, minify. Toolkit that allows people to work on nicely formatted CSS, then automatically refactor and minify for publication. Python.
  • Deadweight is a CSS coverage tool. Given a set of stylesheets and a set of URLs, it determines which selectors are actually used and reports which can be "safely" deleted. Ruby.

Firefox extensions;

  • CSS Ratiocinator automatically refactors your CSS and generates a new stylesheet for your site. It works by examining your site's live DOM in the browser and reverse engineering a new, more elegant definition that captures styles down to the pixel.


Services

Authoring

See also Development#IDE

Maqetta

BlufGriffon

  • BlueGriffon - a new WYSIWYG content editor for the World Wide Web. Powered by Gecko, the rendering engine of Firefox, it's a modern and robust solution to edit Web pages in conformance to the latest Web Standards.


CodeMirror

  • CodeMirror - a JavaScript component that provides a code editor in the browser. When a mode is available for the language you are coding in, it will color your code, and optionally help with indentation. A rich programming API and a CSS theming system are available for customizing CodeMirror to fit your application, and extending it with new functionality.

Ace

  • Ace - a standalone code editor written in JavaScript. Our goal is to create a web based code editor that matches and extends the features, usability and performance of existing native editors such as TextMate, Vim or Eclipse. It can be easily embedded in any web page and JavaScript application. Ace is developed as the primary editor for Cloud9 IDE and the successor of the Mozilla Skywriter (Bespin) Project.

Orion

  • Orion - an open source project under the Eclipse top-level project. Orion's objective is to create a browser-based open tool integration platform which is entirely focused on developing for the web, in the web. Tools are written in JavaScript and run in the browser. Unlike other attempts at creating browser-based development tools, this is not an IDE running in a single tab. Links work and can be shared. You can open a file in a new tab. Great care has been taken to provide a web experience for development. Orion components are individually consumable and examples of this are Mozilla Firefox Scratchpad, Scripted Editor. All the components of Orion together can be viewed at the public facing OrionHub site where anyone can create an account and try Orion out.


Cloud9 IDE

  • AWS Cloud9 Amazon Web Services - a cloud-based integrated development environment (IDE) that lets you write, run, and debug your code with just a browser. It includes a code editor, debugger, and terminal. Cloud9 comes prepackaged with essential tools for popular programming languages, including JavaScript, Python, PHP, and more, so you don’t need to install files or configure your development machine to start new projects. Since your Cloud9 IDE is cloud-based, you can work on your projects from your office, home, or anywhere using an internet-connected machine. Cloud9 also provides a seamless experience for developing serverless applications enabling you to easily define resources, debug, and switch between local and remote execution of serverless applications. With Cloud9, you can quickly share your development environment with your team, enabling you to pair program and track each other's inputs in real time.


Cloudbox

  • Codebox - a complete and modular Cloud IDE. It can run on any unix-like machine (Linux, Mac OS X). It is an open source component of codebox.io (Cloud IDE as a Service). The IDE can run on your desktop (Linux or Mac), on your server or the cloud. You can use the codebox.io service to host and manage IDE instances.

Thimble

  • Thimble - an online code editor that makes it easy to create and publish your own web pages while learning HTML, CSS & JavaScript. [20]

Glitch

Scripted

  • Scripted - a fast and lightweight code editor with an initial focus on JavaScript editing. Scripted is a browser based editor and the editor itself is served from a locally running Node.js server instance.


Brackets

  • Brackets - an open-source editor for web design and development built on top of web technologies such as HTML, CSS and JavaScript. The project was created and is maintained by Adobe, and is released under an MIT License.
  • aka Adobe Edge Code


Aptana Studio 3

  • Aptana Studio 3 - Develop and test your entire web application using a single environment. With support for the latest browser technology specs such as HTML5, CSS3, JavaScript, Ruby, Rails, PHP and Python.

Zed

  • Zed - a fully offline-capable, open source, keyboard-focused, Chrome-based text and code editor you can use to edit local files as well as remote files on any server. It’s built using web technologies (100% HTML, CSS and JavaScript) yet has all features you’d expect from a capable code editor.

MadEye

  • MadEye - a collaborative web editor backed by your filesystem. Launches from the shell, uses ACE.

Atom

  • Atom - a hackable text editor for the 21st century.


Tiled Text

  • Tiled Text - an Android compatible framework for making slick, makes mobile computers awesome; editing text with them still sucks. The solution: the Tiled Text engine

Services

jsFiddle

jsBin

in console;

jsbin.settings.editor.key = value; [23]

jsbin.settings.editor. smartIndent = false;

codepen.io

  • Has Sass/SCSS, etc.
  • Live update
  • Vertical or horizontal columns
  • uses CodeMirror.

cssdeck

scratchpad.io

  • line numbers!
  • er, no seperate panes? bad ui

Coderpad.io

Other

  • codepad is an online compiler/interpreter, and a simple collaboration tool Paste your code below, and codepad will run it and give you a short URL you can use to share it in chat or email.
  • Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

Bookmarklets

Overlay

div { outline:1px solid red; }


Improved bookmarklet:

javascript:(function(){var t=['div','header','nav','main','section','footer','table','th','td','tr','form','fieldset','label','img','address','blockquote','h1','h2','h3','h4','h5','h6','p','pre','dd','dl','dt','ol','ul','li'];var c=['blue','blue','blue','blue','blue','blue','teal','teal','teal','teal','orange','orange','orange','red','red','red','red','red','red','red','red','red','red','green','green','green','green','green','green','yellow'];for (var i in t){var l=document.getElementsByTagName(t[i]);var j=0,e;while(e=l.item(j++)){e.style.outline='solid '+c[i]+' 1px';}}})();

Needs section, etc, rainbow colours! Also, switch margin and or padding with transparent border.


Sourcemaps

  • Introduction to JavaScript Source Maps - HTML5 Rocks - Have you ever found yourself wishing you could keep your client-side code readable and more importantly debuggable even after you've combined and minified it, without impacting performance? Well now you can through the magic of source maps.

Other

  • Fiddler is a free web debugging proxy which logs all HTTP(s) traffic between your computer and the Internet. Use it to debug traffic from virtually any application that supports a proxy like IE, Chrome, Safari, Firefox, Opera, and more.


Templates and Frameworks


H5BP


Bootstrap

  • Bootstrap CDN - The recommended CDN for Bootstrap, Font Awesome, and Bootswatch. MaxCDN.


Reference



Theme templates and styles



Glyphs





Buttons

Other

Foundation


Forms

Other




  • Teutonic CSS - 12KB of CSS to jump start your HTML. A modern CSS framework — versatile, well documented.

Responsive

Themes

  • http://www.oswd.org/ Open Source Web Design is a site to download free web design templates and share yours with others. We help make the internet a prettier place.

Testing

See also Development#Testing, JS tools#Testing

Tools

PhantomJS

Ghost Driver

webshots

webshots http://example.com
  create several screenshots at common browser resolutions

webshots --width=800 --height=600 http://example.com
  single screenshot at the given browser resolution

Nightmare

SlimerJS

  • SlimerJS - similar to PhantomJs, except that it runs Gecko, the browser engine of Mozilla Firefox, instead of Webkit (And it is not yet truly headless).

Wraith

  • https://github.com/BBC-News/wraith - a screenshot comparison tool, created by developers at BBC News. Wraith uses either PhantomJS or SlimerJS to create screen-shots of different environments and then creates a diff of the two images, the affected areas are highlighted in blue.

Page Monitor

CutyCapt

  • CutyCapt - a small cross-platform command-line utility to capture WebKit's rendering of a web page into a variety of vector and bitmap formats, including SVG, PDF, PS, PNG, JPEG, TIFF, GIF, and BMP. See IECapt for a similar tool based on Internet Explorer.

Telemetry

  • Telemetry - Chrome's performance testing framework. It allows you to perform arbitrary actions on a set of web pages and report metrics about it. The framework abstracts: Launching a browser with arbitrary flags on any platform, Opening a tab and navigating to the page under test, Fetching data via the Inspector timeline and traces, Using Web Page Replay to cache real-world websites so they don’t change when used in benchmarks.

Web Page Replay

  • Web Page Replay - Record live Web pages and use them for local performance testing! Use local DNS and HTTP(S) proxies to captures your live traffic. Then use these captures in order to replay the same exact content, making sure that your tests get consistent results, that are not affected by the origin servers, the network, etc.

Opera Mobile Classic Emulator

Opera Mini

Opera TV Emulator

  • Opera TV Emulator allows web developers to test HTML5 and CE-HTML content for TVs and other appliances running the Opera Devices SDK, as well as HTML-based applications for the Opera TV Store. It comes packaged as an Oracle VirtualBox image and can be run on Windows, Mac and Linux hosts.

The Screening

  • The Screening - lets you automate testing of web-based applications. You can use it to; Create test scripts by recording actions that you perform on an application, Run automated tests applications, Script tests by using the Screening tool’s API

IMacros

  • https://en.wikipedia.org/wiki/IMacros - an extension for the Mozilla Firefox, Google Chrome, and Internet Explorer web browsers which adds record and replay functionality similar to that found in web testing and form filler software. The macros can be combined and controlled via JavaScript. Demo macros and JavaScript code examples are included with the software. iMacros was developed by iOpus. First released in 2001, iMacros was the first macro recorder tool specifically designed and optimized for web browsers and form filling.


BrowserStack

Appetize.io

  • Appetize.io - Run native mobile apps in your browser. For app demos, training, customer support, development, testing, and more [43]

Services

Windows

See also Stack#VirtualBox

rar x Windows_7_IE9.part01.exe
  • Added .vhd as IDE (rather than SATA, which causes problems for some)
  • Admin, Password1
  • cmd; slmgr –rearm
  • Power down, take snapshot

Also; https://github.com/xdissent/ievms - apt-get based

Mobile

  • RemoteDebug is an initiative to bring a common remote debugging protocol to today's browsers. The vision is to enable a new generation of DevTools and editors that are able to communicate independently of their vendor.

See also Android#PC

A/B

Web API

Webhooks

  • https://en.wikipedia.org/wiki/Webhook - a method of augmenting or altering the behaviour of a web page, or web application, with custom callbacks. These callbacks may be maintained, modified, and managed by third-party users and developers who may not necessarily be affiliated with the originating website or application. The term "webhook" was coined by Jeff Lindsay in 2007 from the computer programming term hook.


  • RequestBin - gives you a URL that will collect requests made to it and let you inspect them in a human-friendly way.Use RequestBin to see what your HTTP client is sending or to inspect and debug webhook requests.

Websockets







Web workers

  • HTML Standard: Web workers - an API for running scripts in the background independently of any user interface scripts.This allows for long-running scripts that are not interrupted by scripts that respond to clicks or other user interactions, and allows long tasks to be executed without yielding to keep the page responsive.Workers (as these background scripts are called herein) are relatively heavy-weight, and are not intended to be used in large numbers. For example, it would be inappropriate to launch one worker for each pixel of a four megapixel image. The examples below show some appropriate uses of workers.Generally, workers are expected to be long-lived, have a high start-up performance cost, and a high per-instance memory cost.


Service Workers

  • Service Workers - This specification describes a method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline.The core of this system is an event-driven Web Worker, which responds to events dispatched from documents and other sources. A system for managing installation, versions, and upgrades is provided.

Service Workers

  • Service Workers - This specification describes a method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline.The core of this system is an event-driven Web Worker, which responds to events dispatched from documents and other sources. A system for managing installation, versions, and upgrades is provided.

WebRTC

See Sharing#WebRTC



Audio

See also JS scripts#Media

  • ZX2C4 Music web application that serves and transcodes tagged music libraries using Flask and Backbone.js.
  • music-streamer - Listen to music from your own server in your browser using HTML 5.

Web Audio API

See also JS libs#Media

  • w3.org: Web Audio API - specification describes a high-level JavaScript API for processing and synthesizing audio in web applications. The primary paradigm is of an audio routing graph, where a number of AudioNode objects are connected together to define the overall audio rendering. The actual processing will primarily take place in the underlying implementation (typically optimized Assembly / C / C++ code), but direct JavaScript processing and synthesis is also supported.





  • https://wavesurfer-js.org/ a customizable audio waveform visualization, built on top of Web Audio API and HTML5 Canvas. With wavesurfer.js you can create anything from an HTML5 audio player to a sophisticated DJ application.

Libraries

  • http://lowlag.alienbill.com/
  • Timbre.js provides a functional processing and synthesizing audio in your web apps with modern JavaScript's way like jQuery or node.js. It has many T-Object (formally: Timbre Object) that connected together to define the graph-based routing for overall audio rendering. It is a goal of this project to approach the next generation audio processing for web.
  • Band.js - Music Composer - An interface for the Web Audio API that supports rhythms, multiple instruments, repeating sections, and complex time signatures.




Examples



WebVR


Native

API


http://www.diffbot.com/

Google Feed API

REST


  • https://en.wikipedia.org/wiki/HATEOAS - Hypermedia As The Engine Of Application State (HATEOAS) is a constraint of the REST application architecture that distinguishes it from other network application architectures. With HATEOAS, a client interacts with a network application that application servers provide dynamically entirely through hypermedia. A REST client needs no prior knowledge about how to interact with an application or server beyond a generic understanding of hypermedia. By contrast, clients and servers in some service-oriented architectures (SOA) interact through a fixed interface shared through documentation or an interface description language (IDL). The way that the HATEOAS constraint decouples client and server enables the server functionality to evolve independently.




SOAP

Software


GraphQL

  • GraphQL - a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

JSON-API

Geo

Security



OWASP

  • https://www.owasp.org/index.php/Main_Page Open Web Application Security Project (OWASP) is a 501(c)(3) worldwide not-for-profit charitable organization focused on improving the security of software. Our mission is to make software security visible, so that individuals and organizations worldwide can make informed decisions about true software security risks.

Fingerprinting


CSP



Web Apps


  • WebAPKs on Android | Web Fundamentals | Google Developers - Add to Home Screen on Android does more than just add the Progressive Web App to the users Home Screen. Chrome automatically generates and installs a special APK of your app. We sometimes refer to this as a WebAPK. Being installed via an APK makes it possible for your app to show up in the app launcher, in Android's app settings and to register a set of intent filters.


  • Web App Manifest - This specification defines a JSON-based manifest file that provides developers with a centralized place to put metadata associated with a web application. This metadata includes, but is not limited to, the web application's name, links to icons, as well as the preferred URL to open when a user launches the web application. The manifest also allows developers to declare a default orientation for their web application, as well as providing the ability to set the display mode for the application (e.g., in fullscreen). Additionally, the manifest allows a developer to "scope" a web application to a URL. This restricts the URLs to which the manifest is applied and provides a means to "deep link" into a web application from other applications.Using this metadata, user agents can provide developers with means to create user experiences that are more comparable to that of a native application.

Houdini

WebAssembly



Accessibility

W3C

Specs

BS 8878, Web accessibility - Code of Practice, is consistent with the Equality Act 2010 and is referenced in the UK government’s e-Accessibility Action Plan

Headings should not be removed using display:none, because it removes the headings from assistive technology. Instead headings can be made invisible to sighted users using CSS class="element-invisible". [66]

Colour blindness

Screen readers

Virtual

Web tools


Mockup

  • RoughDraft.js - Quickly mockup / prototype HTML pages with auto-generated content, without additional JavaScript or server side code.



Support

Subscrption

HAR

Typing

Services

to sort

http://bentilly.blogspot.co.uk/2012/10/ab-testing-scale-cheat-sheet.html




Tracking

Flash

  • quvi project parses stream URLs for Internet applications to access the media of those hosting websites that use the “adobe flash multimedia platform” and require the installation of the flash-player plugin.

MP3

Clipboard