putting the develop in development

30
Putting the Develop in Development Jason Yingling @jason_yingling Resources available: https:// goo.gl/KaOIIn [ ]

Upload: jason-yingling

Post on 12-Apr-2017

115 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Putting the Develop in Development

Putting the Developin Development

Jason Yingling@jason_yingling

Resources available: https://goo.gl/KaOIIn

[ ]

Page 2: Putting the Develop in Development

Who am I?IntroductionWho am I?What We’ll Cover

Organizing a Project Director of Development, Red8 Interactive

3 plugins on WordPress.org repo

3 time WordCamp Speaker

Meetup and WordCamp organizer

@jason_yingling

Developing a ProjectFurther Resources

Page 3: Putting the Develop in Development

What We’ll CoverHow we plan a project atRed8 InteractiveHow we develop projects as a teamThe tools and resources we use to improve our development workflow

Page 4: Putting the Develop in Development

Organizing a ProjectIntroductionOrganizing a Project

@jason_yingling

Developing a ProjectFurther Resources • Understanding the WordPress

template hierarchy– Main Templates– Commonly overlooked

templates• Breaking down what makes a

template• Planning a project into

templates and template parts

Page 5: Putting the Develop in Development

Template Hierarchy

@jason_yingling

How WordPress determines which template files to use when displaying a post or page.

“IntroductionOrganizing a ProjectDeveloping a ProjectFurther Resources

Page 6: Putting the Develop in Development

Template HierarchySingle Post

Page 7: Putting the Develop in Development

Template HierarchyStatic Page

Page 8: Putting the Develop in Development

The Big Three

@jason_yingling

• Index.php – everything falls back to index. Main post loop.

• Single.php – your single posts

• Page.php – your static pages

IntroductionOrganizing a ProjectDeveloping a ProjectFurther Resources

Page 9: Putting the Develop in Development

The Forgotten

@jason_yingling

• 404 page• Search Results• Archives

IntroductionOrganizing a ProjectDeveloping a ProjectFurther Resources

Page 10: Putting the Develop in Development

Template Anatomy

Page 11: Putting the Develop in Development

Breaking it Down

Page 12: Putting the Develop in Development

Developing a Project

@jason_yingling

• Code to the standards• Automate your workflow• Version control your code

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project

Page 13: Putting the Develop in Development

Coding Standards

@jason_yingling

• Learn the WordPress way• Easier for others to pick up• Easier for you to pick up

others code• Helps make code self-

documenting• Check the Codex

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project

Page 14: Putting the Develop in Development

PHP Standards

@jason_yingling

• Don’t camelCase function names. Use lowercase and “_” for spaces

• No shorthand• Use real tabs and not

spaces

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project

Page 15: Putting the Develop in Development

Automate It

@jason_yingling

• Problem: Doing things takes time.

• Solution: Make the computer do it for you!

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project

Page 16: Putting the Develop in Development

“Why use a task runner?In one word: automation. The less work you have to do when performing repetitive tasks like minification, compilation, unit testing, linting, etc, the easier your job becomes.

- Gruntjs.com

Page 17: Putting the Develop in Development

Task Runners

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project

The Battle of Build Scripts: Gulp vs Grunt

Grunt for People Who Think Things Like Grunt are Weird and Hard

Page 18: Putting the Develop in Development

Some Useful Grunt Tools

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project • BrowserSync

• SASS Compiling• JS Minification• JS Concatenation• Lots more

Page 19: Putting the Develop in Development

GUI Option

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project • CodeKit

Page 20: Putting the Develop in Development

Version Control It

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project • Work collaboratively

• Track what has changed• Back everything up• Revert if needed

Page 21: Putting the Develop in Development

“What is git?Git is known as a "distributed" (rather than "centralized") version control system because you can run it locally and disconnected from the Internet, and then "push" your changes to a remote system (such as GitHub) whenever you like.

Page 22: Putting the Develop in Development

Tips for Successful Version Controlling

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project

• Write useful commit messages

• Implement features as they’re ready

• Have a strategy in place

Page 23: Putting the Develop in Development

Basic Git Workflow

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project

Page 24: Putting the Develop in Development

Git Commands

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project • git clone

• git checkout• git add• git commit• git merge• git pull• git push• git stash

Page 25: Putting the Develop in Development

More Git Resources

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project • Git4WP – Free video course

on using git with WordPress• A Successful Git Branching

Model• git docs

Page 26: Putting the Develop in Development

Further Resources

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project • Plugins to help speed up

development– Advanced Custom Fields– Form Plugins– Yoast SEO–WP Pusher

Page 27: Putting the Develop in Development

Further Resources

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project • Post Status (Blog)

• WP Tavern (Blog)• Smashing WordPress (Book)• Up and Running (Book)• Post Status Draft (Podcast)• Apply Filters (Podcast)

Page 28: Putting the Develop in Development

Further Resources

@jason_yingling

IntroductionOrganizing a Project

Further ResourcesDeveloping a Project • Community Events

–WordCamps– Local Meetups– Slack Channels• Make WordPress• Post Status• STL Meetup

Page 29: Putting the Develop in Development

Best Resources

Go make something.

Page 30: Putting the Develop in Development

Questions@jason_yingling

Resources: Google Drive