Elixir Icon

Elixir

Elixir is a dynamic, functional language designed for building scalable and maintainable applications.
23 Stories
All Topics

Chris McCord dockyard.com

An update on the progress of Phoenix.LiveView

As a reminder, LiveView is an in-development feature of the Phoenix web framework that helps you create rich, interactive experiences while writing very little (ostensibly, zero) JavaScript. In Chris’ words: Phoenix LiveView is an exciting new library which enables rich, real-time user experiences with server-rendered HTML. LiveView powered applications are stateful on the server with bidrectional communication via WebSockets, offering a vastly simplified programming model compared to JavaScript alternatives. In the linked post, Chris shows a lot of examples of LiveView in action, demonstrating what it’s capable of. Here’s a feature-complete snake game, in 330 LOC, which requires zero user-land JavaScript. Impressive!

read more...

German Velasco Thoughtbot

Is Elixir a scripting language?

Finally, an article that breaks Betteridge’s law of headlines! Elixir is known for being a language made for building distributed applications that scale, are massively concurrent, and have self-healing properties. All of these adjectives paint Elixir in a grandiose light. And for good reasons! But is Elixir also a language that can be used for the more mundane tasks of this world like scripting? I think the answer is a definite yes. I’ve been writing Elixir for a few years now, but when it comes time to script something I still reach for Ruby. Case in point, our data import routines for changelog.com (which y’all know is an Elixir app) are written in Ruby. Why do I do this? Familiarity plays a big part. Also I find Ruby to be highly ergonomic for such tasks. Having said that, this article will make me consider trying Elixir for my next script.

read more...

Phoenix shift.infinite.red

Phoenix’s LiveView: client-side Elixir at last?

Darin Wilson: In his keynote at ElixirConf last week, Chris McCord announced a new feature for the Phoenix web framework that caused many jaws to hit the floor, and had the hall buzzing when the talk was over. The new feature, tentatively called “LiveView”, allows developers to add dynamic, client-side interactions to web pages, using code that runs in Elixir on the server. What exactly is a LiveView, though? We don’t really know yet as this is an ongoing project and no code has been released yet. But as near as I can tell, a LiveView is lot like a React component running in a GenServer – it even has a render function! And with the EEx sigil (which I didn’t know was a thing) the code feels a lot like JSX I am unreasonably excited to see what becomes of this. 

read more...

Rémi Prévost accent.reviews

Accent — a developer-oriented translation tool

Rémi Prévost: Accent is an internal tool we built to help us manage translations for the applications we develop at Mirego. We used Elixir (Phoenix and Absinthe) and Ember.js and just a few weeks ago we open-sourced the project so we could share it with the community since there are not a lot of fully-working open-source Web applications for both of these technologies. Very cool. I’ve been toying with the idea of a GraphQL API around our news and podcasts. I should 👀 under the covers and see how Accent’s is built.

read more...

Elm teamgaslight.com

Elm, Elixir, and Phoenix: Reflecting on a functional full-stack project

Zack Kayser built a Texas Hold ‘Em app with the EEP (?) stack and wrote up his findings. He calls Elm and Elixir “a match made in Functional Heaven”, but the endeavor wasn’t without its challenges: I personally struggled with 1) how to organize my code, especially with larger modules, 2) figuring out how to make the UI more interactive, and 3) sharing code across modules. There’s a lot to learn from Zack’s experience. Both the Elm front-end and Phoenix back-end are open source. ✊

read more...

Elixir infinum.co

Things I wish ActiveRecord had after using Ecto

Great list, and I agree with many of Vladimir’s points. However, I have to admit that Ecto’s take on preloading still bugs me after years of use. I find myself doing the preload dance all over the place even when I’m well aware of the performance issues around N+1 queries. I thought I’d get used to it over time, but it still irks me every time I see an Ecto.Association.NotLoaded exception.

read more...

Elixir spin.atomicobject.com

Behaviour-Driven Unit Testing for Phoenix Controllers

This is a great introduction to the Mox library written by José Valim and the Plataformatec team. Mox’ philosophy: A simple summary is that when it comes to dependency injection, mocks should not be created ad-hoc. Instead, they should be constrained by predefined behaviours. This helps enforce contracts between modules, and it also makes tests easier to maintain and understand. We’ve been using the Mock library when testing against 3rd party services, and it works as advertised. However, we don’t test our controllers in isolation like in this post. Should we be?

read more...

The Changelog The Changelog #261

Building an Artificial Pancreas with Elixir and Nerves with Tim Mecklem

We talked with Tim Mecklem about building an artificial Pancreas with Elixir and Nerves to help those with Type 1 Diabetes who want to “loop” — a process which involves monitoring glucose levels, predicting where a person’s glucose levels are heading, then delivering insulin based on that prediction. Tim is a Developer at Gaslight in Cincinnati where he builds software solutions with Ruby and Elixir, and he’s a member of the Nerves Core team.

read more...

The Changelog The Changelog #208

Ecto 2 and Phoenix Presence with José Valim and Chris McCord

José Valim and Chris McCord joined the show to talk all about how they’re advancing the “state of the art” in the Elixir community with their release of Ecto 2.0 and Phoenix 1.2. We also share our journey with Elixir at The Changelog, find out what makes Phoenix’s new Presence feature so special, and even find time for Chris to field a few of our support requests.

read more...

The Changelog The Changelog #194

Elixir and the Future of Phoenix with José Valim

José Valim joined the show to talk about Elixir. We learned about the early days of José’s start as a programmer. José took us back to the beginning of Elixir and shared why Erlang got him so excited, we broke down features of the language, we talked about functional programming, concurrency, developing for multi-core systems, we talked about the Elixir community, the future of Phoenix, Ecto, and more.

read more...
0:00 / 0:00