Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
http://www.rubyconf.org.au You want to keep up with new and exciting technologies, but rewriting your monolith in the language du jour is too daunting a task, and you're not sure a microservice split is right for you. Why not experiment with a purely functional, powerfully typed language in your existing Rails app? Elm is a new language that compiles to JavaScript and has lots of great mind-bending features. In this talk we'll look at the basics of Elm and how you can integrate it into an existing Rails app, even alongside your existing JavaScript code.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video titled "Functional in the Front, Rails in the Back: Give Your App An Elm Mullet" delivered at RubyConf AU 2017 by speakers Louis Simoneau and Rahul Trikha introduces the Elm programming language and its integration into existing Rails applications. The speakers explain that Elm is designed specifically for reliable web applications, emphasizing its delightfulness, performance, and absence of runtime exceptions, making it an appealing choice for Ruby and Rails developers. Key points discussed include: - **What is Elm?** Elm is described as a programming language optimized for creating reliable web applications that compiles to JavaScript. Its unique features promote great performance and eliminate runtime exceptions. - **Why care about Elm?** The absence of runtime errors is highlighted as a significant advantage. The speakers demonstrate this through an example where Elm's type system prevents a common bug encountered in Ruby due to nil values, ensuring errors are caught during compilation instead. - **Comparative Programming Concepts** Elm's syntax is compared to Ruby's for better understanding. Key aspects include strong typing that prevents mixing types, immutability of data, and the use of pattern matching, allowing explicit handling of potential errors through types like 'Maybe' and union types. - **Building Elm Applications** The speakers detail the architecture of a simple shopping cart application they created, integrating Elm for the front end and Rails for the backend. They emphasize the seamless interaction between Elm and Rails via API calls and how Elm's architecture supports building dynamic, reliable user interfaces. - **Core Principles of Elm** The Elm architecture revolves around a model, view, and update cycle, ensuring clear management of application state while maintaining purity in functions for enhanced predictability and testing ease. The incorporation of subscriptions and commands allows for interactive and asynchronous behavior within Elm, enhancing user experiences in applications. In conclusion, Elm provides a supportive environment for Ruby developers to enhance their applications without extensive overhead. The speakers encourage viewers to explore Elm for its strong typing, functional programming features, and potentials for integrating with existing Rails applications, aiming to foster programming happiness and improved reliability.
Suggest modifications
Cancel