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.
This session is for Java developers who are curious about the increasingly popular co-inhabitant of the JVM named Scala. In this session, we will discuss the Scala language and tooling, and introduce some of the popular libraries and frameworks in the ecosystem. You will leave this
presentation primed for your own exploration into Scala and equipped to begin utilizing it within your existing Java stack.
WIP
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:
Reactive has become one of the top buzzwords in our industry. Join me for a brief introduction into the principles of reactive programming, followed by deep dive into applying the principles to your JavaScript code. By the end of this session, you will know what patterns emerge when the reactive rubber meets the programming road.
After a brief introduction into reactive programming, we will get our hands dirty live coding with Q's Promises. Next we will explore the treatment of events as Streams as implemented in the Reactive-Extensions/RxJS library. Lastly, we look at concurrency in the browser via Web Workers. With these three tools, you will be well-equipped to write elegant, maintainable, reactive JavaScript code.