JSFoo 2014

JavaScript as the centerpiece of a complex web stack

In 2011, Node.js put JavaScript firmly in the backend, making JavaScript developers productive at both ends of the stack, and making it possible for business logic to finally be moved into JavaScript.

In 2012, AngularJS made us think about moving business logic completely into the client-side as an actually sensible idea. Meteor give that idea two thumbs up.

In 2013, we went wild thinking of all the possibilities. JavaScript phones! Robots!

In 2014, it’s time for some sobering up. The backends we built over a decade in Ruby and Python aren’t going away. New languages like Go and Hack are tantalising us with new possibilities. Our applications are increasingly distributed, often involving third party APIs. In such a scenario, where does your business logic reside?

In 2014, JavaScript is no longer a toothless child or a rebellious teenager that wants to do everything itself. JSFoo 2014 is about working with JavaScript as the centerpiece of a complex web stack.

Format

This year’s edition spans four days, with two days of workshops and two days of conference. All days feature a single track. We invite proposals for:

  • Full-length 40 minute talks
  • A crisp 15-minute presentation
  • Sponsored sessions, 40 minute duration
  • Flash talks of 5 minutes duration. Submissions for flash talks will be accepted during the event
  • Three hour workshops where everybody gets their laptop out and follows along

Criteria to submit

You must be a practising web developer or designer, and must be able to show how your own work has advanced the state of the web in the past year. You are expected to present original work that your peers — this event’s audience — recognise as being notable enough to deserve a stage.

If you are excited about someone’s work and believe it deserves wider recognition, we recommend you contact them and ask them to submit a proposal.

Selection Process

Voting is open to attendees who have purchased event tickets. If there is a proposal you find notable, please vote for it and leave a comment to initiate discussions. Your vote will be reflected immediately, but will be counted towards selections only if you purchase a ticket.

Proposers must submit presentation drafts as part of the selection process to ensure that the talk is in line with the original proposal, and to help the editorial panel build a strong line-up for the event.

There is only one speaker per session. Entry is free for selected speakers. HasGeek will cover your travel to and accommodation in Bangalore from anywhere in the world for speakers delivering full sessions (30 minutes or longer). As our budget is limited, we will prefer speakers from locations closer home, but will do our best to cover for anyone exceptional. If you are able to raise support for your trip, we will count that as speaker travel sponsorship.

If your proposal is not accepted, you can buy a ticket at the same rate as was available on the day you proposed. We’ll send you a code.

Commitment to Open Source

HasGeek believes in open source as the binding force of our community. If you are describing a codebase for developers to work with, we’d like it to be available under a permissive open source license. If your software is commercially licensed or available under a combination of commercial and restrictive open source licenses (such as the various forms of the GPL), please consider picking up a sponsorship. We recognize that there are valid reasons for commercial licensing, but ask that you support us in return for giving you an audience. Your session will be marked on the schedule as a sponsored session.

Hosted by

JSFoo is a forum for discussing UI engineering; fullstack development; web applications engineering, performance, security and design; accessibility; and latest developments in #JavaScript. Follow JSFoo on Twitter more

Shyam Seshadri

@shyamseshadri

Getting Up & Running with AngularJS

Submitted Aug 5, 2014

The aim is to get developers up, running and comfortable with AngularJS within a day. To break it down further:

  • Expose developers to the major benefits of AngularJS
  • Familiarize developers with the terminologies used in AngularJS, and associate it with existing nomenclature
  • Develop an End to End AngularJS application (as much as possible) from scratch
  • Understand what are controllers, services, factories, promises, directives and filters, and know how to use and create each!
  • Also realize the importance of testing, and how to unit test AngularJS applications!

Outline

This is the condensed, one-day version of our hands-on three day AngularJS workshops, which have been loved by every single company we have done it for!

Unlike many workshops, when we say hands-on, we mean hands-on. You will be coding, you will be developing, and you will have something substantial to show for it by the end of the day. This will be the first step for you on your AngularJS journey, armed enough to tackle any issues and challenges with confidence.

Over the course of the day, we will try to cover as much as possible of the following, in order:

  • Start with static HTML, and understand how to start creating AngularJS applications.
  • Create a rich, interactive application, leveraging AngularJS data bindings and controllers.
  • Understand how to communicate across our application, and create reusable business logic layers using services & factories.
  • Really understand asynchronous communication over XHR (XmlHttpRequests), and understand the concept of promises that underlies the entire async part of AngularJS.
  • Create a multi-page, Single Page Application (the irony!) using the ngRoute module in AngularJS.
  • Quickly learn how to unit test our controllers and services (and server requests, oh my!), using Karma & Jasmine.
  • Start learning about directives, and create a very simple Directive in AngularJS.

This will be a fast paced, coding heavy workshop. Prepare to come caffienated, and ready to get your hands dirty and really learn some AngularJS. We will also keep talking about best practices as we go along the entire day.

Requirements

  • Basic knowledge of JavaScript and HTML - Without this, you will be left trying to figure out too much in too little time, and not make the most of the workshop
  • Prior exposure to concepts like Asynchronous programming, Single Page Applications and the like
  • Bring your own laptops
  • Access to the internet (which shall be provided, hopefully!)
  • NodeJS - Get it from http://nodejs.org/ and have it installed. The server for our application is going to be a NodeJS server, so no working application without it!
  • Git - Get it from http://git-scm.com/ . Again, our codebase is going to be on a git server, so to ensure you can easily get the codebase, and keep pace with the workshop, make sure you have git.
  • WebStorm - http://www.jetbrains.com/webstorm/ - The best IDE out there for JavaScript. It has a 30-day trial version, so ensure that you do download it, and you download it such that it still remains active for the workshop :). I will demonstrate how you can have your entire development experience (Server, Client, testing and more) right within the IDE.

Speaker bio

Shyam Seshadri is the CEO & Director at Fundoo Solutions Private Limited, a tech startup that is based out of Navi Mumbai. Shyam is a published author and has written two books on AngularJS for O’Reilly (the second one, called AngularJS Up & Running (http://shop.oreilly.com/product/0636920033486.do) is scheduled to be out soon).

Before he started Fundoo, he was a Senior Software Engineer at Google in Mountain View, where he also worked on AngularJS when it first started. He has an MBA in Marketing & Entrepreneurship from the Indian School of Business, Hyderabad.

Nowadays, he spends his time working on awesome new products, consulting on high level architecture and complex projects and conducting AngularJS & NodeJS workshops internationally.

Slides

http://www.slideshare.net/ShyamSeshadri/angularjs-one-day-workshop

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

JSFoo is a forum for discussing UI engineering; fullstack development; web applications engineering, performance, security and design; accessibility; and latest developments in #JavaScript. Follow JSFoo on Twitter more