Explore core web-development principles and best-practices while seeing them in action at Roost, presented by Bocoup. Part training, part conference, Roost combines the best of both experiences in a comprehensive narrative about the real-world application of core programming principles.
This fall, you can complete your Roost experience with the jQuery Conference. We've partnered with our friends at the jQuery Foundation to bring you four days of developer-focused events. Follow up two days of immersive, fast-paced teaching at Roost with the latest in jQuery, jQuery projects, code architecture and organization, best practices and emerging browser technologies at jQuery Conference.
Mike Pennisi is a contributor to a number of open source projects, including JSHint, Socket.io, and Backbone.LayoutManager. His primary interests at Bocoup are user interface design, privacy and peer to peer networking on the Open Web.
We're always improving our materials - as such, the schedule below is subject to change.
8:00 – 9:00
9:00 – 9:45
An overview of architectural principles in building web applications. We'll also talk about how the Model-View-Controller (MVC) pattern translates to web applications.
9:45 – 10:15
We'll receive requirements for our application from our client. But before we dive into coding, we'll show how we break those requirements down in to discrete tasks, impose engineering standards on ourselves, and translate all of those requirements into something a developer can understand.
10:15 – 10:45
10:45 – 11:45
We'll take what we've learned from our requirements and what we know about application architecture to set up our project folders and core files, automated task runner (Grunt), and source control (Git).
11:45 – 12:30
We have chosen Backbone as the framework to express the application we will build. We'll talk about how Backbone conforms to and/or alters the MVC pattern we discussed earlier.
12:30 – 1:30
1:30 – 2:00
We'll create a model, and set it up to communicate with our API endpoint.
2:00 – 2:30
We'll create a view, set connect it to our model, and see how it all looks together on the page!
2:30 – 3:00
become unwieldy if we keep all of our code in a single file. On
the other hand, juggling dozens of
tags leads to what is commonly known as "dependency hell." We'll
show how we can prevent both of these outcomes with a healthy dose
of vitamin AMD.
3:00 – 3:30
3:30 – 4:45
We've pulled a single piece of data into our app, but we're often going to want to pull in a number of objects. We'll talk about the things we need to consider when rendering an entire collection of data to the page. We also need a way to move between all of these pages we've created, so we'll wire up our client-side URL routing.
4:15 – 5:00
Ask us your burning questions!
8:00 – 9:00
9:00 – 10:00
At this point, we're successfully getting data into our application and rendering our pages, but we've created some redundant code. We'll finish up the day by refactoring our current codebase to keep things DRY (Don't Repeat Yourself).
10:00 – 10:30
Our designer gave us a ton of great styles for our app! How do we use a modular approach in creating our style sheets, handle browser differences, and keep from repeating code? We'll use a framework (Stylus) to keep ourselves in line!
10:30 – 11:00
11:00 – 11:30
So far, our app reads data from the server pretty nicely. How do we get data from the user into the server? We'll talk about form input and how to handle that in our application.
11:30 – 12:00
Form data is great and all, but what if we
want to use snazzy new browser features? We'll talk about how we
use HTML5 APIs like
how to implement graceful degradation in browsers that do not
support features we may want to use.
12:00 – 1:00
1:00 – 2:15
2:15 – 3:00
Sometimes unit testing just isn't enough, particularly in the browser environment. We'll start test-driving using browser automation with Selenium, and learn how to write tests that navigate through the connected pieces of our app.
3:00 – 3:30
3:30 – 4:15
Our app can read and write data, but now we want to let our users delete it. If we follow the principles we've learned up to this point, it should be a piece of cake…
4:15 – 4:45
Even if our application completely works, we're not done yet. We need to optimize our application for the production environment and transfer over the Internet. We'll cover some simple things we can do to improve performance and the deployment process.
4:45 – 5:00
We've got a fast, stable application that we can be proud of. But what now? Now that we have something we're happy with, how does that inform our next application? And the next one after that? What are the biggest things from the last two days that you can take home and implement in your own projects?
In the heart of the city, Sheraton Chicago Hotel & Towers puts you within reach of some of the best restaurants and attractions Chicago has to offer.
Sheraton Chicago Hotel & Towers
301 East North Water Street
Chicago, IL 60611
Deluxe Room Price: $309 $269/night + free Wi-Fi for Roost attendees for a limited time
All tickets are non-refundable. You may transfer your ticket to another person by contacting us or by updating the registration info you receive at the time of your purchase.
Bocoup believes that everyone deserves a thoroughly pleasant conference experience, regardless of who they are. We adhere to the Bocoup Code of Conduct and expect that all of our speakers, attendees, and volunteers will do the same. Please take the time to read the full document.
Bocoup is dedicated to providing a harassment-free experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. We do not tolerate harassment of event participants in any form. Sexual language and imagery is not appropriate for any venue, including talks. Participants violating these rules may be sanctioned or expelled from the event without a refund at the discretion of the event organizers.
If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff.
If the matter is especially urgent, please call/contact one of these individuals:
Conference staff will be happy to help participants contact local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.