Bob Lee, Mar 15

Store UIColor with UserDefaults in Swift 3

This article was originally published at iOS Geek Community. So, what the heck is UserDefaults in the first place? Why is the name so ugly? Why are we using it? and Why am I writing about it? If you can give at least one answer to these questions, you may skip to Part 2 where I talk about UIColor. Prerequisite: Understand Type Casting from the bottom of your heart. In other words, be able to distinguish between as, as!, as? You can start off with this video where I show my face and speak English on YouTube. As a tradition, let’s start off some funky and tangible ways to understand UserDefaults at an extremely high level. Actually, this is too simple. I don’t think it’s necessary. The UserDefaults object saves user data. So that when you first download an app, you can save preferences such as a background color/image even when the battery kills itself. It can save ALL kinds of things. If you have 254GB of free space on your phone, it can save 254GB of user data. But, there is a big problem. It regurgitates everything during the runtime. Okay, the previous sentence can be a bit ambiguous. Let’s try this. It will vomit everything out when you first launch an app or the view is loaded. Hmm. Here is the better way. It’s like you running to the bathroom and taking a poop that you’ve been holding for 5 days at once. What happens to your body? You get overwhelmed. It may not even come out right, and most importantly, it will hurt you real bad. Same thing, you want to make sure you only carry enough of poop inside of the large intestine so that you (iPhone) can take care of and handle like a boss. LOL. Yeah, for those newcomers, this is how I think and execute. Excuse me. No one can stop me.
Tiffany Brown, Mar 14

Golden Guidelines for Writing Clean CSS

In this exclusive excerpt from our book, CSS Master, we give you the ultimate guidelines for writing clean CSS.
Vasily Strelyaev, Mar 14

TestCafe: Easier End-to-end Web App Testing with Node.js

Vasily Strelyaev introduces TestCafe, a new, open-source Node.js-based end-to-end testing framework for web apps.
Jurgen Van de Moere, Mar 14

Understanding Component Architecture: Refactoring an Angular App

Jurgen Van de Moere takes an existing Angular 2+ app and refactors it into a more modular component architecture, making use of reusable "dumb" components.
Nitish Kumar, Mar 14

How to Order and Align Items in Grid Layout

Nitish Kumar shows how you can quickly order and align content using the shiny new CSS Grid Layout module.
Said Sikira, Mar 14

Improve Your Swift Closures with Result

Dealing with asynchronous tasks is an everyday developer task, and Swift developers mostly use closures for this type of work. Their syntax is clear and expressive, but handling a closure may be error-prone when we don’t adequately represent the results of an asynchronous operation. Result-oriented programming aims to reduce that complexity by providing a simple way to represent these results. This article will go through the basics of closures and show you how to use Result in your code. All examples can be found in this Github repository. Closures are self-contained blocks of code. They can be passed around and used in your code as any other object. In fact, closures have types, in the same way Int or a String are types. What makes them different is that they can have input parameters and they must provide a return type.
Design & UX
Mateo Prifti, Mar 14

How to Turn Your Sketch Files into Working Prototypes with Origami

Sketch is a great for UI Design, but it stops at flat designs. Mateo shows you how to do sophisticated prototyping with Sketch files in Facebook Origami.
Craig Buckler, Mar 13

How to Pass Command Line Parameters to Gulp Tasks

Have you ever wanted to write Gulp Tasks that accept command line arguments? Craig Buckler shows you how and covers some potential use cases.
Pierre-Yves Saumont, Mar 13

Types Are Mightier than Tests

Functional programming can dramatically reduce the need for testing by using types to reduce the number of possible implementation choices.
Claudio Ribeiro, Mar 13

The Android Elephpant - Laravel on your Android Phone?

Crazy? Maybe! Claudio goes through setting up PHP, Git, and Composer on an Android device. Not only that, but he also deploys Laravel and SQLite!
Ariel Elkin, Mar 13

Editorial: Getting Great Results with Swift

M. David Green, Mar 10

The Scrum Contract (Part 2)

In this exclusive excerpt from our book, Scrum: Novice to Ninja, we expand further into the importance of the Scrum Contract.
Jonathan Saring, Mar 10

Managing Code Components with Bit

Jonathan Saring introduces Bit, new OSS distributed code component manager built to make components reusable across repositories, and much more.
Paul Maplesden, Mar 10

How to Create Perfect Client Contracts Using Squarespace Forms

Paul Maplesden shows freelancers how to enhance their client contracts and automate their collection with Squarespace.
Sally Wood, Mar 10

The Best WordPress Photo Plugins for Photographers

Sally Wood shares a collection of some of the best and most trusted photo plugins, to save you wading through the multitude of choices available.
Viraj Khatavkar, Mar 10

Crash Course: Continuous Deployment with Semaphore CI

Viraj takes us through the basic process of setting up Continuous Deployment to a DigitalOcean server by means of Semaphore CI. Exciting!
Simon Ritter, Mar 10

Is An Agile Java Standard Possible?

In recent years Java's evolution came to more heavily rely on JEPs. Simon Ritter explains how that can make Java's development more agile.
Tiffany Brown, Mar 09

Learn about CSS Architecture: Atomic CSS

What exactly is Atomic CSS, and how do you use it? We give the lowdown through this exclusive excerpt from our book, CSS Master.
Akshay Sachdeva, Mar 09

10 of the Best Hosted eCommerce Platforms

We look at ten of the best hosted eCommerce platforms and tell you what you need to know to make a decision.
Elio Qoshi, Mar 09

Interview with Kris Borchers, JS Foundation Executive Director

Elio Qoshi is joined by Kris Borchers, JS Foundation Executive Director, to talk about the organization's beginnings, current projects and what lies ahead.
Alexis Goldstein, Mar 08

HTML5 Forms: Input Types (Part 1)

Learn about the different input types in HTML5 Forms, in this exclusive excerpt published from our book, HTML5 & CSS3 for the Real World, 2nd Edition.
Design & UX
Dan Goodwin, Mar 08

How Writing Our Book Taught Us About Killer Prototyping

What’s changed is that we’re aiming to use prototyping to explore design problems in all projects that we work on by default.
Indrek Ots, Mar 08

Java's If Statement in Five Minutes

If statements are used to conditionally run blocks of code. They're an essential tool for controlling the flow of a program
Tim Jenks, Mar 08

Building Gorgeous 3D Maps with eegeo.js and Leaflet

Display 3D maps in just a few lines of code and overlay data from a 3rd-party API. Tim Jenks creates a dynamic map of the London Underground with eegeo.js