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
Leena S N

Leena S N

@leenasn

Test Driven Javascript

Submitted Aug 5, 2014

This workshop is for giving an overview on how to write faster, maintainable and behavioural tests for Javascript using the Jasmine Test Framework and Karma Test Runner. The workshop will cover the following:

  • Introduction to Jasmine
  • Use Karma for running Tests
  • Stubbing and Mocking using libraries such as Sinon.JS
  • Tools such as Grunt and Bower for packaging and building
  • Integration with Continuous Integration servers such as Jenkins, Travis CI etc.

If time permits we will also cover:
- Using Jasmine and Karma test driving applications which uses frameworks such as AngularJS, Backbone etc.

Outline

Writing tests has definite benefits especially in long term. But if we don’t have the right environment and tool set, it can be less fun and frustrating too. In this workshop we will be focusing on setting up the right environment with the right tools which makes test driven development enjoyable and sustainable.

We will be using Jasmine as the testing framework and Karma as the test runner. Jasmine is one of the most popular unit testing framework for writing behavioural tests. It resembles RSpec, the popular testing framework in the Ruby world. It comes up with set of helper methods which wraps out all the mundane things, especially the test setup, and helps us focus on testing. Also, it has a pretty clean syntax which helps in faster learning.

Karma is a test runner which basically facilitates running tests in our preferred environment, a real browser or a headless browser like PhantomJS. The best part is that it will blend well with most of the major Continuous Integration servers such as Jenkins, Travis etc..

We will also cover tools such as Bower, Grunt, which helps us to run the tests frequently to give us quick and frequent feedback, which is mandatory for unit testing.

Requirements

  • Laptop with your preferred IDE. We will be using Sublime/Atom.
  • Familiarity with Javascript.
  • Familiarity with Git

We will setup a git repo with all the required dependencies that people can clone and use during the workshop.

Speaker bio

Leena is the Head of Engineering @ Multunus. She was bitten by the TDD bug a couple of years ago. Having done enough TDD in Ruby/Rails, Javascript and Android, she’s moved onto Continuous Delivery (CD) in a big way - even spoke about CD at DroidCon India 2011 and AgileIndia 2012. She had conducted workshops on TDD on Android, TDD on AngularJS and during DroidCon 2013 and Angular JS Miniconf 2014.

Hiemanshu is a Software Architect @ Multunus. At Multunus, we’ve been working on a lot of interesting projects, and doing Continuous Delivery[CD] across a lot of platforms. We have also been working on a platform for faster UX feedback, SeaWeed. I love contributing to Open Source projects and have contributed to projects like CyanogenMod, Fedora, KDE, Qt. I have conducted workshops and given talks about contributing to CyangenMod and Fedora. I am also an avid gamer and love playing all kinds of games.

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