James Crain

James Crain

Member Since November 28, 2014
Open to Work

7,967

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Company

    Crain Design Group, LLC

  • Job Title

    Owner

112 Achievements

  • The Browser Environment
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Improving your Gulp Workflow
  • Implementing a Forecast Client
  • Protocol Oriented Networking
  • Fetching Data From the Web
  • Modeling Forecast Data
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Managing Orders in WooCommerce
  • Managing Products in WooCommerce
  • Setting Up WooCommerce
  • Introduction to Ecommerce with WordPress
  • Implementing the Detail View
  • Error Handling in Swift 2.0
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • Doing More with Express
  • Serving Static Files in Express
  • Using Templates with Express
  • The Request and Response Objects in Express
  • Developing Express Apps Like a Boss
  • Getting Started with Express
  • Building a Command Line Application
  • Introduction to Node.js
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs as Data Models
  • View Controllers and Views
  • Getting Started with iOS Development
  • Differentiating Between Objects
  • Class Inheritance
  • Classes
  • Complex Data Structures
  • Function Parameters
  • Functions in Swift 2.0
  • Control Flow with Conditional Statements
  • Control Flow With Loops
  • Swift Dictionaries
  • Introduction to Collections
  • Objects and Optionals
  • Introduction to Optionals
  • Introduction to Enumerations
  • Next Week's Weather
  • Upgrading Stormy
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Swift Value vs Reference Types
  • Swift Properties
  • Swift Inheritance
  • Swift Classes and Objects
  • Simple Mobile Interface
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • Custom Table View Cells
  • Introduction to Table Views
  • Creating Flexible Objects with Protocols
  • Protocols
  • Delegation in iOS
  • Introduction to Delegates
  • Managing Complexity
  • Closures in iOS
  • Closures and Closure Expressions
  • Functions as First Class Citizens
  • Interacting With Data From the Web
  • Simple Data Structures
  • Refactoring Our Code (Swift)
  • Building the Master and Detail Views (Swift)
  • Building a Music Library and Playlists (Swift)
  • Using a Navigation Controller With Segues (Swift)
  • Working With Multiple View Controllers (Swift)
  • Getting Started With Git
  • Why Version Control Matters
  • Moving Around in the Console
  • Discovery
  • Displaying Our Weather Data
  • Data Modeling With Structures
  • Concurrency
  • Pulling Data From the Web
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Swift Structs and their Methods
  • Swift Structs
  • Swift Enums and their Methods
  • Swift Enums
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • Newbie