Phoenix Framework

Phoenix Framework

The Phoenix framework stands out in the Elixir ecosystem for its robust capabilities in web development, supported by comprehensive documentation and a supportive community. Developers have shared experiences working on commercial projects with Phoenix and LiveView, emphasizing the ease of integrating complex UI elements and ensuring real-time updates. Recent advancements include using Rust for performance improvements and introducing LiveView hooks for external libraries like SortableJS, enhancing UI customization. Furthermore, Phoenix's efficient handling of associations in Ecto simplifies relational management in applications. Concurrently, developers have noted the benefits of maintaining modular codebases and optimizing live updates, contributing to a streamlined development process.

A diverse set of tools such as Hex, Sobelow, and async workflows in LiveView attribute to Phoenix's extensive ecosystem. The introduction of libraries like Absinthe for GraphQL and components for handling upgrades and modifications highlights Phoenix's adaptability. Additionally, Phoenix's integration with tools like Fly.io leverages global distribution, facilitating scalable deployments. Real-time functionalities like LiveView Uploads further augment its dynamic capabilities, making Phoenix a versatile framework for modern web application development.

Integrating a Custom Tooltip Component into a Phoenix Project

Integrating a Custom Tooltip Component into a Phoenix Project

Andrew Timberlake has written a tutorial on adding a custom tooltip component to a Phoenix project using the PopperJS library. The post covers setting up the component, the live view, the CSS, and the Javascript, and demonstrating how to incorporate any Javascript library that requires bindings to an element in Phoenix through the use of Hooks.

Creating a Custom Phoenix Project Generator

Creating a Custom Phoenix Project Generator

Victor Björklund shares how to build a custom Phoenix phx.new generator. He explains the problem with the existing generators and explores possible solutions, such as modifying and extending Phoenix's mix task generators to align with project requirements.

Kanta: A New Translation Management Tool for Elixir and Phoenix Web Applications

Kanta: A New Translation Management Tool for Elixir and Phoenix Web Applications

Artur Ziętkiewicz introduces Kanta, an open source solution to translations in Elixir & Phoenix web apps. Kanta simplifies the process of managing translations, saving time and reducing errors.

Understanding Elixir's Low Latency Capabilities

Understanding Elixir's Low Latency Capabilities

Lars explores how Elixir leverages Erlang's soft real-time capability and consistently low latency to provide a near-realtime experience and enhance user satisfaction.

An Overview of Elixir's Syntax

An Overview of Elixir's Syntax

In this blog post titled "Unpacking Elixir", Lars provides a thorough exploration of the Elixir programming language, explaining its syntax, conventions, features, and interop with Erlang. Lars discusses various aspects of the language, such as modules, functions, pipes, pattern matching, macros, and more, offering insights and observations along the way.

Implementing File Uploads in Real-time with Phoenix LiveView

Implementing File Uploads in Real-time with Phoenix LiveView

The Fly.io team introduces LiveView Uploads as a solution for handling file uploads in Phoenix applications. Using LiveView, developers can achieve real-time upload progress, drag and drop functionality, and the ability to handle multiple uploads at once, all while hiding the complexity behind the scenes.

Exploring Flop for Elixir Data Handling

Exploring Flop for Elixir Data Handling

In Episode 166 of the Thinking Elixir podcast, Mathias Polligkeit discusses his creation of the flop library, which provides a convenient and reusable solution for filtering, sorting, and pagination in Elixir projects. He also introduces the flop_phoenix package, which includes heex components for building filter forms and tables. It's an interesting exploration of a useful library for Elixir developers.

Asynchronous Task Management in Phoenix LiveView

Asynchronous Task Management in Phoenix LiveView

In this blog post, Mark Ericksen explains how to build an asynchronous workflow in a LiveView using Elixir's concurrency primitives. He demonstrates how to link processes, trap exits, and handle tasks, providing a step-by-step guide to achieve an elegant and efficient solution.

Understanding GraphQL Subscriptions in Elixir with Absinthe

Understanding GraphQL Subscriptions in Elixir with Absinthe

In this blog post by Sapan Diwakar, he introduces readers to Absinthe, a toolkit for building a GraphQL API with Elixir. He explains the basics of GraphQL, the schema of a GraphQL API, and how to set up an Elixir app with Absinthe.

Setting Up a Phoenix Project with Gitpod for Remote Development

Setting Up a Phoenix Project with Gitpod for Remote Development

Richard Taylor shares his experience setting up a remote development environment for Phoenix using Gitpod. He provides a sample repository and explains the setup process, highlighting the ease of use and the benefits it offers to new developers and teams.

Using Tailscale for Global Elixir Cluster Distribution

Using Tailscale for Global Elixir Cluster Distribution

Richard Taylor discusses his experience with deploying an Elixir Phoenix application to different clouds and the need for clustering. He explores the use of Tailscale, a VPN service, to connect Elixir nodes across multiple clouds and devices globally, and introduces a strategy called libcluster_tailscale for automatic discovery and connection of nodes through the Tailscale API.

Deploying Phoenix Apps across Multiple Clouds Using MRSK

Deploying Phoenix Apps across Multiple Clouds Using MRSK

Richard Taylor discusses the use of MRSK, an open source deployment tool, to deploy Phoenix applications to multiple clouds. He explains how to use MRSK to deploy a Phoenix application to a single host, as well as how to deploy the application to multiple hosts in different clouds, securely accessing the database over Tailscale.

Integrating Apache ECharts animations with Phoenix LiveView

Integrating Apache ECharts animations with Phoenix LiveView

Richard Taylor explores how to create beautiful animated charts using Apache ECharts and LiveView. He shows how to set up the chart using a LiveView Hook and demonstrates how to handle live updates to the charts.

How to Add a Table of Contents to Blogs with Nimble Publisher in Elixir

How to Add a Table of Contents to Blogs with Nimble Publisher in Elixir

In this post by Philip Brown, he explains how to add a Table of Contents to a Nimble Publisher blog, which is useful for readers to navigate through long blog posts or articles. He provides step-by-step instructions on creating a new project, setting up Nimble Publisher, appending the Table of Contents, adding Table of Contents links, and using custom Earmark processor for modifying the Markdown file.

Implementing Full-Text Search in Elixir Phoenix with Haystack

Implementing Full-Text Search in Elixir Phoenix with Haystack

Philip Brown provides a tutorial on how to easily add the Haystack full-text search functionality to an Elixir Phoenix application. He demonstrates the process step by step, using the NimblePublisher package as an example and showcasing the simplicity and power of Haystack.

How to Transition to Verified Routes in Phoenix 1.7

How to Transition to Verified Routes in Phoenix 1.7

Mark Ericksen shares his experience and tips on migrating to the new Verified Routes in Phoenix 1.7. He guides readers through the process, including using a mix task to automate the conversion, handling static paths manually, dealing with multi-line routes, and addressing query parameter issues.

Deploying Elixir Apps with structure.sql in Production Environments

Deploying Elixir Apps with structure.sql in Production Environments

Mark Ericksen discusses the problem of loading a structure.sql file in a production environment where mix is not available after building a mix release. He provides a solution that involves committing the structure.sql file to version control, adding the postgresql-client package to the Dockerfile, and updating the migrate/0 function in the release.ex file to run the structure.sql file when needed.

Handling Elixir Project Development Post Ecto Dump

Handling Elixir Project Development Post Ecto Dump

Mark Ericksen offers a solution for developers who have deleted old migration files and are now facing a chicken-and-the-egg problem when bootstrapping a new server or setting up a clean database. By adding a step in the mix.exs file's ecto.setup task and using the ecto.load command with specific flags, developers can safely continue development with a structure.sql file generated from mix ecto.dump and without the older migrations.

Integrating SortableJS in Phoenix LiveView for Drag-and-Drop Lists

Integrating SortableJS in Phoenix LiveView for Drag-and-Drop Lists

In this blog post, Berenice Medel introduces the use of LiveView hooks to integrate SortableJS into LiveView applications. The post provides a step-by-step guide on how to create a list component with draggable items, including adding necessary logic and improving the appearance of the list items.

Building a Basic ChatGPT Plugin with Elixir Phoenix

Building a Basic ChatGPT Plugin with Elixir Phoenix

This post by Jason Stiebs provides a guide on creating a ChatGPT Plugin with Elixir Phoenix. It explains how to set up a JSON API using Phoenix and Elixir, and walks through the steps involved in creating a basic plugin for ChatGPT.

Integrating Rust into Elixir for Performance Optimization

Integrating Rust into Elixir for Performance Optimization

In this post by Jason Stiebs, he discusses how to leverage the high-performance capabilities of Rust within an Elixir application using the Rustler library. He provides a step-by-step guide on how to integrate Rust code into an Elixir project, giving examples of implementing both simple mathematical operations and more complex image processing tasks.

Ensuring Security when Handling Zip Files in Phoenix Applications

Ensuring Security when Handling Zip Files in Phoenix Applications

Mark Ericksen explains in his blog post how to safely use the OTP :zip module in Elixir applications. He discusses different types of zip file attacks, such as path traversal attacks and zip bomb attacks, and provides examples and tests to demonstrate the vulnerabilities and mitigations. He emphasizes the importance of not trusting user input, using antivirus software, and taking

Exploring Elixir's List Comprehensions Capabilities

Exploring Elixir's List Comprehensions Capabilities

Jason Stiebs explains the benefits of using Elixir's list comprehension, a powerful alternative to for loops. He shows examples of how list comprehensions can be used for filtering, mapping, and accumulating data, and also explores recursion in Elixir.

The High Quality of Elixir Documentation

The High Quality of Elixir Documentation

Jason Stiebs explains that the documentation for the Elixir programming language is comprehensive and easy to navigate, providing extensive discussion, guides, examples, and doctests. He also highlights the usefulness of Hex, a resource for Elixir developers that offers online hosted docs, code diffs, and a list of packages that depend on a library.

Insights on Using Elixir and Phoenix for Commercial Projects

Insights on Using Elixir and Phoenix for Commercial Projects

Alex Korban shares his thoughts on using Elixir, Phoenix, and LiveView for a commercial project over the past 18 months. He finds Elixir enjoyable with a good combination of functional programming and concurrency, and while there are some areas that could be improved, both Elixir and Phoenix are solid tools with LiveView being an impressive addition for more complex applications.

Managing Many-to-Many Relationships in Elixir with Ecto and LiveView

Managing Many-to-Many Relationships in Elixir with Ecto and LiveView

Berenice Medel discusses how Ecto has introduced two new options to make working with associations easier. These options allow users to sort elements in a specific order and remove specific records from an association, and they can be easily passed from LiveView when working with forms.

Decoupling Phoenix Forms from Ecto Changesets

Decoupling Phoenix Forms from Ecto Changesets

German Velasco discusses how to separate the UI form from the Ecto changeset in Phoenix. He explains that the to_form/2 helper can be used to back forms with either changesets or regular maps and also automatically handle errors.

© HashMerge 2025