Skip to content

Instantly share code, notes, and snippets.

@jessitron
Forked from jakerella/alexa.md
Last active December 20, 2015 00:29
Show Gist options
  • Save jessitron/6042482 to your computer and use it in GitHub Desktop.
Save jessitron/6042482 to your computer and use it in GitHub Desktop.

Writing jQuery Plugins for Fun and (non)Profit

We all love jQuery - it's easy, efficient, and there's tons of information online. But with that mass of information comes confusion: When you want to abstract some of your code into a plugin, how do you structure it? How do you take in options, and how can you be sure you haven't broken the way jQuery works? And when you're done, where do you put it and how do distribute it to the masses?

This talk will run through some of the basics and guide you in the right direction. In particular, we'll cover:

  • structuring your plugin code
  • making your code testable - and testing it!
  • tracking your code on github
  • getting your plugin on the jQuery site

After this talk, you'll be ready to help everyone love jQuery even more.

Browser Testing for the Mobile Web

How many mobile devices do you own? Two? Four? And how many devices do your users as a group have? Twenty? Fifty? Web developers have long relied on local browser testing - maybe on a couple machines - to ensure their CSS and JavaScript code is up to snuff. That won't cut it any longer. This talk introduces the new testing paradigm of the mobile web: emulation and virtual environments. See how you can look at your mobile site in multiple environments as easily as you can run multiple browsers on your desktop, using tools like Browserstack. We'll even talk about automating your tests (you are writing tests, right?).

Come away from this session with a knowledge of the various tools available and how to implement them in your development workflow.

/* if you mention one tool by name, mention at least three. */

Object-Oriented JavaScript (yes, it really exists)

JavaScript gets a bad rap for not being a "full" programming language /* really? it does? */, yet people are starting to realize how powerful this tool can be. It's time to give JavaScript the attention it deserves. Start your re-education by accepting that while JavaScript may exhibit some characteristics of a functional language, it really is a multi-paradigm language with strong support for Object-Oriented Programming.

This talk will give attendees a crash course in Object-Oriented JavaScript covering:

  • core OOP principles
  • the prototype object and constructors
  • member access types (public, private, & privileged)
  • prototypical inheritance
  • interfaces (mixins)

Developers will come out of this session ready to implement core OOP concepts in JavaScript, with knowledge of how inheritance in JavaScript differs from many of the other languages they know.

Links

Introduction to Propel ORM

Knowing how to write proper SQL is good, and that database utility class you wrote works great - but as the old adage goes: you shouldn't rediscover sliced bread ... or something like that. /* say what ORM does */

This talk will introduce you to Propel - an open-source Object-Relational Mapping (ORM) library for PHP - that will make your life a lot easier. This talk will cover:

  • some ORM basics
  • generating a database, tables, and an object model
  • adding validation and extending behavior
  • basic CRUD operations using the ActiveRecord classes
  • record searching using the ActiveQuery classes

After this session, you'll be ready to Propel all your objects straight into the database.

Links

Speaker Bio - Jordan Kasper

Shortly after it arrived at his home in 1993, Jordan began disassembling his first computer - his mother was not happy. She breathed more easily when he moved from hardware into programming, starting with BASIC. Jordan's experience includes multiple startups, companies large and small, and one large university. He contributes to a few open source projects and participates in local user groups, barcamps, and hackathons. Jordan's primary mission for over 10 years has been to use JavaScript, HTML, and CSS to elevate web applications above their desktop rivals. He currently works for appendTo, a leader in front-end software solutions, specializing in JavaScript, jQuery, HTML5 and mobile development. In his down time he enjoys puzzles of all sorts and board games. /* board games are awesome. Too bad speaking takes up all my time and I don't get to play anymore */

Browser Eyeballing != JavaScript Testing

Stop eyeballing your UI in a browser to test your JavaScript code - that doesn't count. While many developers have embraced testing in their server side code using TDD, fewer test their front end JavaScript code in the same way, and even fewer of those use any kind of automation. This talk will give attendees some solutions that will automatically run JavaScript tests (in a browser no less!) while you write code.

In particular we'll discuss:

  • basic Grunt setup
  • watching files with a Grunt task
  • using a framework (QUnit) to write tests
  • using a headless browser (PhantomJS)
  • continuous integration

Participants will come out of this talk ready to implement and automate unit tests for their JavaScript code.

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment