Introducing Appiphony Lightning JS

In September, the design team at Salesforce.com released the Lightning Design System, which we call SLDS for short. SLDS is not only a design philosophy that guides the new Lightning Experience, but also a CSS toolkit that allows third-party developers to build seamless applications that match the Lightning Experience and Salesforce1. For designers, SLDS is immeasurably useful. However, developers will face new challenges in a post-Visualforce world.

In its initial release, SLDS has one significant omission: interactivity. The system provides tools for visual design, but leaves you without the JavaScript needed to react to events and user interactions. We at Appiphony saw this as an opportunity to standardize our front-end development tools around SLDS, with the goal of efficiently prototyping and developing our apps in Lightning livery.

The result of our efforts became what is now Appiphony Lightning JS (ALJS).

ALJS is a library of jQuery plugins and Ember.js components which enable front-end developers to bring life to their SLDS-driven pages. It’s an open source project licensed under the BSD 2-Clause License and is developed and maintained by the Appiphony team. Though still in beta, ALJS already supports an extensive (and growing) list of SLDS components.

Need a functioning datepicker? ALJS has a plugin for that. Tooltips not appearing properly? ALJS has a plugin for that. Having trouble getting your tabs to display the correct content? I think you get the picture.

Because it’s in active development, users can expect updates to ALJS alongside those of SLDS. Our ultimate goal is to not only create solutions to the problems we encounter developing apps within the Lightning Experience, but to also share them with the Salesforce development community. These solutions will only get better through collaboration, and developers who wish to contribute can fork the repo, log issues, and create pull requests on ALJS’s GitHub.

The bulk of our development involves creating custom user interfaces, and using ALJS in that work has yielded great results thus far. We’re interested in feedback from others, so give it a try and let us know what you think.