"Mr Branding" is a blog based on RSS for everything related to website branding and website design, it collects its posts from many sites in order to facilitate the updating to the latest technology.
To suggest any source, please contact me: Taha.baba@consultant.com
Tuesday, January 30, 2018
12 Ways to Complain Without Being Rude - #infographic
[ This is a content summary only. Visit our website http://ift.tt/1b4YgHQ for full links, other content, and more! ]
by Web Desk via Digital Information World
The Europejski
by via Awwwards - Sites of the day
Monday, January 29, 2018
4 Tools for Social Media Storytelling - #Infographic
[ This is a content summary only. Visit our website http://ift.tt/1b4YgHQ for full links, other content, and more! ]
by Web Desk via Digital Information World
A Beginner Splurge in Node.js
It's 3 a.m., hands over the keyboard while staring at an empty console. The bright prompt over a dark backdrop ready, yearning to take in commands. Want to hack up Node.js for a little while? One of the exciting news about Node.js is that it runs anywhere. This opens up the stack to various ways to experiment with it. For any seasoned veteran, this is a fun run of the command line tooling. What I like the most is that we can survey the stack from within the safety net of the command line. The cool thing is that we are still talking about JavaScript, hence most of you should not have any problem. So, why not fire up node
up in the console?
In this article, I'll introduce you to Node.js. My goal is to go over the main highlights while hiking up some pretty high ground. This is an intermediate overview of the stack while keeping it all inside the console. If you want a beginner-friendly guide about Node.js, I suggest you to watch the SitePoint premium's course Node.js: An Introduction.
Continue reading %A Beginner Splurge in Node.js%
by Camilo Reyes via SitePoint
How to Avoid Risky Design Trends - #infographic
[ This is a content summary only. Visit our website http://ift.tt/1b4YgHQ for full links, other content, and more! ]
by Web Desk via Digital Information World
HyperApp: The 1 KB JavaScript Library for Building Front-End Apps
Hyperapp is a JavaScript library for building feature-rich web applications. It combines a pragmatic Elm-inspired approach to state management with a VDOM engine that supports keyed updates & lifecycle events — all without dependencies. Give or take a few bytes, the entire source code minified and gzipped sits at around 1 KB.
In this tutorial, I'll introduce you to Hyperapp and walk you through a few code examples to help you get started right away. I'll assume some familiarity with HTML and JavaScript, but previous experience with other frameworks is not required.
Hello World
We'll start with a simple demo that shows all the moving parts working together.
You can try the code online too.
import { h, app } from "hyperapp"
// @jsx h
const state = {
count: 0
}
const actions = {
down: () => state => ({ count: state.count - 1 }),
up: () => state => ({ count: state.count + 1 })
}
const view = (state, actions) => (
<div>
<h1>{state.count}</h1>
<button onclick={actions.down}>-</button>
<button onclick={actions.up}>+</button>
</div>
)
app(state, actions, view, document.body)
This is more or less how every Hyperapp application looks like. A single state object, actions that populate the state and a view that translates state and actions into a user interface.
Inside the app function, we make a copy of your state and actions (it would be impolite to mutate objects we don't own) and pass them to the view. We also wrap your actions so they re-render the application every time the state changes.
app(state, actions, view, document.body)
The state is a plain JavaScript object that describes your application data model. It's also immutable. To change it you need to define actions and call them.
const state = {
count: 0
}
Inside the view, you can display properties of the state, use it to determine what parts your UI should be shown or hidden, etc.
<h1>{state.count}</h1>
You can also attach actions to DOM events, or call actions within your own inlined event handlers.
<button onclick={actions.down}>-</button>
<button onclick={actions.up}>+</button>
Actions don't mutate the state directly but return a new fragment of the state. If you try to mutate the state inside an action and then return it, the view will not be re-rendered as you might expect.
const actions = {
down: () => state => ({ count: state.count - 1 }),
up: () => state => ({ count: state.count + 1 })
}
The app call returns the actions object wired to the state-update view-render cycle. You also receive this object inside the view function and within actions. Exposing this object to the outside world is useful because it allows you to talk to your application from another program, framework or vanilla JavaScript.
const main = app(state, actions, view, document.body)
setTimeout(main.up, 1000)
A note about JSX
I'll be using JSX throughout the rest of this document for familiarity, but you are not required to use JSX with Hyperapp. Alternatives include the built-in h
function, @hyperapp/html, hyperx and t7.
Here is the same example from above using @hyperapp/html.
import { app } from "hyperapp"
import { div, h1, button } from "@hyperapp/html"
const state = { count: 0 }
const actions = {
down: () => state => ({ count: state.count - 1 }),
up: () => state => ({ count: state.count + 1 })
}
const view = (state, actions) =>
div([
h1(state.count),
button({ onclick: actions.down }, "–"),
button({ onclick: actions.up }, "+")
])
app(state, actions, view, document.body)
Virtual DOM
A virtual DOM is a description of what a DOM should look like, using a tree of nested JavaScript objects known as virtual nodes.
{
name: "div",
props: {
id: "app"
},
children: [{
name: "h1",
props: null,
children: ["Hi."]
}]
}
The virtual DOM tree of your application is created from scratch on every render cycle. This means we call the view function every time the state changes and use the newly computed tree to update the actual DOM.
We try to do it in as few DOM operations as possible, by comparing the new virtual DOM against the previous one. This leads to high efficiency, since typically only a small percentage of nodes need to change, and changing real DOM nodes is costly compared to recalculating a virtual DOM.
Continue reading %HyperApp: The 1 KB JavaScript Library for Building Front-End Apps%
by Jorge Bucaran via SitePoint
Web Design Weekly #305
Headlines
Why I changed the way I think about Code Quality
John Cobb shares some fantastic advice for becoming a better developer. If you write code, make time for this. (freecodecamp.org)
Designers who play with words
In this post, Melody Quintana discusses some ways she has found writing to be useful in her design process. She also suggests some lightweight, playful exercises to get the words flowing. (medium.com)
Sponsor Web Design Weekly and reach over27,461 passionate designers and developers
Articles
Best practices for staging environments
A topic that isn’t talked about much but in this great article Alice Goldfuss nails so many aspects. She goes into detail on the why and how you should go about creating a robust staging environment, plus shares some hot tips on making sure things run smoothly. (increment.com)
The Art of Storyboarding
Mimi Chao create storyboarding layouts when working on books or illustrating for clients. In this interview she explains her process. (medium.com)
Recreating the GitHub Contribution Graph with CSS Grid Layout (bitsofco.de)
Designer-Oriented Styles (the-pastry-box-project.net)
Tools / Resources
Bootstrap 4
A massive release with around 6,000 commits. So much time and energy have been poured into this, congrats to all involved. If you are a Bootstap fan go check it out. (getbootstrap.com)
Karmatic
Easy automatic (headless) browser testing. Powered by Karma, Webpack & Jasmine. (github.com)
monday.com: The perfect project management tool for designers
Oversee your teams entire workflow while organizing your designs, assets, feedback and product roadmap. Start using the project management tool built by designers, for designers. Create free account now!
(monday.com)
Grid Garden
A browser based game for learning CSS grid layout. (cssgridgarden.com)
Firefox 58: The Quantum Era Continues (mozilla.org)
Safari Technology Preview 48 (twitter.com)
CSS Houdini Experiments (lab.iamvdo.me)
Parcel v1.5.0 released (medium.com)
jQuery 3.3.0 (jquery.com)
Inspiration
Being a Professional Encourager with Andy J Pizza (simplecast.com)
How I Got Hired by GitHub (joelcalifa.com)
Jobs
Senior UI Developer
Do you have a dog eared copy of ‘Secrets of the JavaScript Ninja’ beside your bed? Would you be excited to work on large scale WordPress projects that actually require your JavaScript skills? Would you be stoked to push the limits of where JavaScript and WordPress can play nicely together? (tri.be)
Front-End Developer at Gravity Works
Love semantic HTML, powerful CSS, and elegant JavaScript? Gravity Works is looking for a front-end developer to join our team. If you have a stellar web portfolio, are excited to learn new technologies, and thrive in a fast-paced environment, let us know. (gravityworksdesign.com)
Need to find passionate developers or designers? Why not advertise in the next newsletter
Last but not least…
Working with a designer (four paths) (sethgodin.typepad.com)
The post Web Design Weekly #305 appeared first on Web Design Weekly.
by Jake Bresnehan via Web Design Weekly