MV* - Practical Applications with CanJS

schedule 01:30 PM - 03:00 PM place Grand Ballroom

Structure of client side applications is a debated topic. While there are many varied approaches, I will take you through concepts we use at Bitovi when building complex applications. Separation of concerns, thin server architecture, and how we structure our data layer are a few of the many topics we will touch in this tutorial session.

 
22 favorite thumb_down thumb_up 3 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Main Agenda:

  • Simple inheritance with can.Construct
  • jQuery plugin best practices
    • De-coupling widgets
    • Memory safety
    • Determistic widgets
  • Observable objects with can.Map
    • Custom behaviors per property
    • Validation on an object
  • Maintainable widgets with can.Control
  • Abstracting your REST layer with can.Model
  • A simple view layer with can.view
    • A brief istory of can.ejs, can.mustache and can.stache
    • Intro to live binding
  • Moving into the future with can.Component

Interesting side topics:

  • Parallel development with can.fixture
  • Observable and composite properties with can.compute
  • Declarative application of jQuery plugins with can.view.attr

Learning Outcome

High level understandings:

  • Boilerplate functionality can.Control handles internally when building custom widgets.
  • The observable pattern.
  • How can.Model abstracts requests for persisted entities.
  • How client side template engines function, including basic usage.  
  • How constructs assist with inheritance.
  • Concepts behind thin server architecture and how this applies to rich, complex UI applications.

Target Audience

Developers with an open mind!

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Naresh Jain
    By Naresh Jain  ~  2 years ago
    reply Reply

    Alexis, thank for the proposal. This is certainly a very interesting proposal. Would you also consider submitting another proposal (demo) on your work with grunt?

    • Alexis Abril
      By Alexis Abril  ~  2 years ago
      reply Reply

      Hey Naresh, I'd be happy to. Would this be in addition to the MV* talk or in place of? I could do a live coding tutorial/workshop on how Bitovi builds apps with CanJS, Steal and Grunt(testing & Cordova could be optional as well).

      • Naresh Jain
        By Naresh Jain  ~  2 years ago
        reply Reply

        Great! This would be in-addition to the existing proposal. Please add it to the system.


  • Liked Alexis Abril
    keyboard_arrow_down

    Alexis Abril - JavaScript: The Misunderstood Parts

    Alexis Abril
    Alexis Abril
    Developer
    Bitovi
    schedule 2 years ago
    Sold Out!
    240 mins
    Workshop
    Intermediate

    Closure scope, context, protos and prototypes are common confusing topics when jumping into a rich JavaScript environment. In this workshop, not only will these topics be covered, but how JavaScript sets up data in memory will also be discussed. Join for a hands on approach to breaking JavaScript down to its core functionality.

  • Liked Anmol Agrawal
    keyboard_arrow_down

    Anmol Agrawal - Fun with JavaScript and Arduino

    Anmol Agrawal
    Anmol Agrawal
    Developer Evangelist
    PubNub
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Beginner

    “Internet of things” is the concept of basically connecting any device with an on and off switch to the Internet.

    IoT has been possible through devices like Arduino, Raspberry Pi and many more. Initially, working with them started with C/C++. Now, you can do the same with different languages like Python, Ruby, JavaScript, Go and more languages are coming to this landscape. NodeJS, frameworks and npm has built an environment like no other. Just with the the fundamental knowledge of JavaScript and reading through API docs, one can easily get started with IoT. That's what I will be showing.

    I would like to share my approach, resources etc I learned from and show things that are possible.

  • Liked Jay Kanakiya
    keyboard_arrow_down

    Jay Kanakiya - How I become a better Front End Developer by maintaining a daily jQuery plugins site

    Jay Kanakiya
    Jay Kanakiya
    Front End Developer
    Sokrati
    schedule 2 years ago
    Sold Out!
    20 mins
    Talk
    Beginner

    Maintaining a jQuery plugins website is hard but equally rewarding. In this talk I am going to outline some of the initial difficulties I have faced and its corresponding learnings. jquer.in also played an important role into how I become a Front End Developer. Even now it plays a huge role into improving my writing skills, coding skills, contacts.

    Slides are available at http://jquer.in/jqueryconf/#/

  • Naresh Jain
    Naresh Jain
    Founder
    ConfEngine.com
    schedule 2 years ago
    Sold Out!
    90 mins
    Demonstration
    Intermediate

    Over the past decade, eXtreme Programming practices like Test-Driven Development (TDD), Behavior Driven Developer (BDD), Refactoring and Continuous Integration have fundamentally changed software development processes and inherently how engineers work. Practitioners claim that it has helped them significantly improve their development speed, design quality and responsiveness to changing requirements. Software professionals across the board, from Internet startups to medical device companies to space research organizations, today have embraced these practices. But can these practices be applied to front-end development? Especially jQuery plugin development?

    This demo will show how we can test drive a jQuery plugin with the help of various patterns, strategies, tools and techniques. Participants will understand how they can apply this approach for testing any jQuery code.

  • Liked Bodil Stokke
    keyboard_arrow_down

    Bodil Stokke - What Every Hipster Should Know About Functional Reactive Programming

    60 mins
    Keynote
    Beginner

    In the space of only 45 minutes, we’ll attempt to introduce asynchronous functional programming in JavaScript with RxJS, apply it to solve the problem of callback hell once and for all, and write a complete game using RxJS, JQuery and ponies.

  • Liked Niranjan Janardhana
    keyboard_arrow_down

    Niranjan Janardhana - jQuery Plugins for Large Scale Responsive Web Design Projects

    Niranjan Janardhana
    Niranjan Janardhana
    Architect
    TCS
    schedule 2 years ago
    Sold Out!
    20 mins
    Talk
    Intermediate

    Responsive Web Design  [RWD]is an extremely simple design methodology, through media queries. In this talk, we share our experience of implementing RWD for a large scale public facing project, having 3000+ dynamic page content.

    We will cover Device Neutral Design, the Challenges faced and how jQuery came to our rescue.

     

     

  • Liked John K. Paul
    keyboard_arrow_down

    John K. Paul - ES6 Right Now

    John K. Paul
    John K. Paul
    VP of Engineering
    Penton Media
    schedule 2 years ago
    Sold Out!
    90 mins
    Workshop
    Intermediate

    The list of solidified ES6 has kept growing and we, on the client side, just get greener with envy. Many of these new features won’t be supported in a broad base of browsers for years to come, but there is hope for us nonetheless. While we don’t have the ease of flipping a command line flag, like node, to bask in the warm sunlight of ES6 sugar, we can build a system that gives us similar results.

    Using a combination of shims and transpilers, we can enjoy these new language features while still maintaining support for all of the browsers you’d need. I'll first explain some of the great new additions to the JavaScript programming language and example use cases with code that take advantage of ES6's elegance for client side development. I will go through the details of setting up a development environment with source maps for debugging the code that you wrote, rather than what is generated by a transpiler.

    After listening to this talk, I hope your jealousy will be soothed, and I know that your curiosity will be satisfied.

  • Liked Shyam Purkayastha
    keyboard_arrow_down

    Shyam Purkayastha - Famo.us : A new kind of Web UI for the future

    45 mins
    Demonstration
    Intermediate

    Famo.us is a pure javascript UI framework which deviates from traditional web development approach around declerative coding & brings in the ability to marry different visual elements under the HTML5  and Open Web umbrella ( such as CSS3, Canvas, SVG & WebGL ) to create absolutely stunning user interfaces. In this talk we are going to have a look at some of the capabilities of famo.us by means of a few demonstrations. We will demonstrate a few web applications built with Famo.us, right from the basic apps, to the more engaging ones , all the way to the more advanced applications which can arguably thwart any traditional multimedia content consumption platform in favour of the web.  

  • Liked Dave Methvin
    keyboard_arrow_down

    Dave Methvin - Don't Make These jQuery Mistakes

    Dave Methvin
    Dave Methvin
    President
    jQuery Foundation
    schedule 2 years ago
    Sold Out!
    60 mins
    Keynote
    Intermediate

    You can find solutions to thousands of jQuery problems on the Internet in blog posts, StackOverflow answers, or on Github. The problem is, many of those answers and code snippets are very obsolete! The web development world of 2006 that jQuery was born into is very different than the world of 2015, and jQuery has evolved to keep up. Yet there are still features inside of jQuery that only remain because of compatibility concerns, not because they're a good idea in modern web development.

    This talk will discuss features of jQuery that are best to avoid if you want a fast web site or HTML app that works with the widest range of browsers--even browsers that haven't yet been released! You'll also learn how using some of these features can make it very hard to follow modern practices such as Responsive Design. For each feature, you'll learn the modern 2015 way to do each of these tasks.

  • Liked Kris Borchers
    keyboard_arrow_down

    Kris Borchers - Contributing to the jQuery Foundation

    Kris Borchers
    Kris Borchers
    Executive Director
    jQuery Foundation
    schedule 2 years ago
    Sold Out!
    240 mins
    Workshop
    Beginner

    The jQuery Foundation has a number of projects that it supports and it relies on the community of users and supporters of those projects to keep them running and healthy. From code to documentation to websites and more, we are always looking for help. In this workshop, we'll cover how to set yourself up for success when contributing to one of our projects. We'll cover topics like system configuration, filing bugs, code conventions, CLAs and more and then we'll dive in and start working on your first contributions to our projects.

  • Liked Alexis Abril
    keyboard_arrow_down

    Alexis Abril - Grunt - A Bitovi Case Study

    Alexis Abril
    Alexis Abril
    Developer
    Bitovi
    schedule 2 years ago
    Sold Out!
    20 mins
    Demonstration
    Beginner

    Grunt is a popular tool used to help development teams script tasks of all types together in an easy to use, repetitive process. In this session we will show you how we use Grunt at Bitovi to develop and deploy large, maintainable, testable applications.

  • Liked Umadevi Santhanam
    keyboard_arrow_down

    Umadevi Santhanam - Securing jQuery Code

    Umadevi Santhanam
    Umadevi Santhanam
    CTO
    Citrya Innovations
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Most of us use jQuery for seemingly everything including simple stuff like processing dialog windows. While jQuery allows us the abstraction powerful abstraction around cross-browser API differences, it can also prove to be a "security nightmare" due to the ways of usage.This session will take you through common jQuery security mistakes including XSS, data validations, inline events, URL encoding, hosted plugins and how to avoid them. The session will cover tools like like JSHint,JSLint and purifiers on the client and server side to secure webapps and avoid common pitfalls.

  • Liked Kris Borchers
    keyboard_arrow_down

    Kris Borchers - The jQuery Foundation - More than just jQuery

    60 mins
    Keynote
    Beginner

    The jQuery Foundation is always working toward making the web accessible to everyone through our efforts in open source projects, standards and the web community. This talk will highlight many of the efforts we are currently focussed on and we'll also dive into some of the projects we've been working on with the community to give you an idea of current outcomes of those efforts and demonstrate some of the uses of those projects. Though jQuery and its related projects are still important to the web, this talk will focus more on the other efforts the jQuery Foundation is involved in that many may not know about.

  • Liked Scott González
    keyboard_arrow_down

    Scott González - Building Up the Community

    Scott González
    Scott González
    Project Lead
    jQuery Foundation
    schedule 2 years ago
    Sold Out!
    45 mins
    Keynote
    Beginner

    Over the past seven years, jQuery UI has identified and solved many common problems for web developers. Often times, the problems don't apply just to users of jQuery UI, or even jQuery Core. In these cases, we try to solve the problem in the best way for the largest audience, rather than creating an isolated solution within jQuery UI. We're able to do this by working with the community and bringing together various groups to collaborate on solutions. In this talk, I'll discuss how this concept is at the heart of the jQuery Foundation and explain some of the projects that have been born out of jQuery UI.

  • Liked Vamsi Krishna
    keyboard_arrow_down

    Vamsi Krishna / Navin - JQuery for Big Data Visualization: A Practical Case Study

    60 mins
    Case Study
    Intermediate

    Advances in JavaScript, HTML5, and the proliferation of related JavaScript libraries, have laid the technological foundation for data visualization. This current and evolving technological landscape, with a wealth of data from innumerable sources, is offering a vast opportunity for Web designers, developers and data analysts to be key players in transforming raw data into meaningful representation. This workshop demonstrates the power and flexibility of modern JavaScript and JQuery libraries to present you best-of-breed visualizations with a real-world use case.

  • Liked Myles Borins
    keyboard_arrow_down

    Myles Borins - Live coding a musical instrument with the web-midi + web-audio api's

    45 mins
    Case Study
    Intermediate

    Imagine a world where you can plug a digital controller into a computer, open a a browser, and start controlling a sophisticated algorithmically generated music environment with the touch of a button. With the web-midi api landing in chrome 43 this type of experience will soon be possible to everyone running a modern computer. This session will explore building a midi-controllable generative synthesizer LIVE using the web-midi api for controlling user input, and the web-audio api for synthesis.

    The talk will explore the history of the Midi protocol, and follow the path to where it finally is being supported in browsers. It will introduce some basic music theory, what is a key, what is an octave, as well as some basic composition theory. It will introduce digital signal processing, the concept of a unit generator, how the web-audio api works, and how you can use it to build a basic synthesizer. This will all be presented in the form of a live coding session, building a working instrument from first principals (and a couple modules).

    At the end of the session we will have a working instrument that can be used to make some music that we can all groove to!