Web Tools Weekly
What a Tool!

Issue #199  (Invoke a Function, React Tools, Frameworks, Media)05/11/17

How many ways are there to invoke a function in JavaScript? Well, according to this Gist by Alexander Myshov, there are at least 11. I've reproduced his list below with some white space formatting so the lines aren't too long:

console.log(1);
(_ => console.log(2))();
eval('console.log(3);');
console.log.call(null, 4);
console.log.apply(null, [5]);
new Function('console.log(6)')();
Reflect.apply(console.log, null, [7]);
Reflect.construct(function() {
  console.log(8)
},
[]);
Function.prototype.apply.call(
  console.log, null, [9]
);

Function.prototype.call.call(
  console.log, null, 10
);
new (require('vm').Script)(
  'console.log(11)'
).runInThisContext();

Most of those probably aren't all that useful and at least one of them is considered bad practice (eval).

So if you're intrigued by technical examinations like that one, it might be a good exercise to try to figure out how each one of those examples works, maybe doing a little Googling or searching on MDN to look up some of the more mysterious examples.

Now on to this week's tools!
Support Web Tools Weekly on Patreon!
Monthly supporters of $10 or more will get a copy of both my JS/DOM e-books and my CSS e-book package.

React Tools

React Native Ratings
An extendable Rating's components for React Native with gestures and an intuitive API.

react-infinite-scroll-component
A 4.25kb infinite-scroll component that actually works and is super-simple to integrate.

react-frontload
Bind async data dependencies to React components.

react-redux-reformed
Forms with React and Redux made simple: start with the bare minimum, no magic, then use composition (components, functions, global and local states) to create more complex forms.

Input Autocomplete
Tiny react input component with HTML5-like autocomplete.

react-accessible-accordion
Accessible accordion component for React.

Conductor
Orchestrate animations across components in one place. A way to organize your code to make the Animated API easier to work with.

react-ionize
A library that lets you build the "non-browser" parts of an Electron app using React components to manage your application's state.

Front-end Frameworks

Mineral UI
A design system and React component library for the web. Still in early development.

RAGrid
Intrinsic first flexbox grid.

ReactXP
A library for building cross-platform apps, built on React and React Native.

Office UI Fabric React
The React-based front-end framework for building experiences for Office and Office 365.

Building Blocks
A library of Foundation UI components. These HTML, CSS and JS snippets can be plugged into any Zurb Foundation project to build faster.

marko
Now at version 4.x. A friendly (and fast!) UI library that makes building web apps fun.

Boundless
A fast, customizable and accessible UI toolkit that was conceived to abstract away difficult interface patterns.

Reactive Maps
A real-time components library for building reactive UIs.

Support Web Tools Weekly on Patreon
Contribute $10 or more and get two JS/DOM e-books + my CSS e-book package.

Multimedia Tools

Layersnap
Build SVG transitions simply and declaratively.

Vize.it
Custom image recognition API. Build your apps with custom visual Artificial Intelligence.

SVGito
Web app for optimizing SVG graphics. Optimizations include cleaning up Sketch’s inside/outside border markup, replacing use elements, and removing useless fill rules.

zuck.js
A JavaScript library that lets you add social media "stories" everywhere. Read stories from any endpoint (JSON, Firebase, etc.) and the script will do the rest.

Britecharts
A client-side reusable charting library based on D3.js that allows easy and intuitive use of charts and components.

Shape Shifter
A web app that simplifies the process of creating SVG-based path morphing animations.

A Tweet for Thought

Advice from Cory House on how a self-taught programmer can find a decent job as a developer.
 

Suggestions / Corrections

Made something? Send links via Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

Contributor-ninja is a way to "help open-source projects one issue at a time."
 


Thanks to all for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@LouisLazaris