Lift-ng: Secure, rapid web development with Scala and AngularJS
In this talk I present lift-ng, an open-source library which extends the Lift web framework into a powerful and secure Angular backend that equips developers to meet today’s demands for rapidly developed, rich and secure web applications.
Modern web applications exhibit rich behavior never conceived by the original designers of the web browser. The blistering pace of business demands these powerful applications be developed rapidly. All the while headlines such as Heartbleed and Shellshock show us that security cannot be neglected in order to deliver. By the end of the presentation, you will know how you can tackle these fundamental challenges with lift-ng.
How do we enable our developers to productively build these rich applications without neglecting security? Using Scala’s elegantly malleable syntax, we have created a DSL which gives the appearance of extending Angular down to the server. Just as Angular boasts declarative two-way binding of model objects to the view, lift-ng can also bind objects between the client and server to extend the view binding down to the backend. All of this functionality is delivered using Lift’s proven security features to ensure the application is secure by default.
To demo this web technology stack, I live-code a simple chat application from scratch. The application exercises the three primary feature sets of lift-ng:
- Client-initiated server calls are utilized to send chat messages to the server.
- Server-initiated events announce new users have joined the chat.
- Client-server model binding seamlessly keeps the chat log in sync on the client.
About Joe Barnes
Joe Barnes is currently a Senior Software Architect at Mentor Graphics where he leads development of cloud-based web solutions such as PartQuest.com. He has spent most of the last decade developing applications on the JVM, with Scala taking focus in recent projects. As an eager life-long learner himself, Joe is passionate about helping others learn and improve the craft through mentoring, blogging, lecturing, and contributing to open source.
Joe can be found blogging at prose::and::conz and on Twitter as @joescii. He also operates as joescii on GitHub where he is a Lift committer and general open-source Scala slinger.
More About Joe »