Pedro shares his journey of choosing Elixir for his side project and discusses his experiences with this powerful language. Learn why Elixir was the right choice for him and how it can benefit your projects too.

Table of contents

    About Pedro Paulino

    Pedro Paulino is a Brazilian software developer with extensive experience in IT since 2009. Currently based in Maringá, Paraná, Brazil, Pedro works primarily as a UX designer while also pursuing various side projects. One of his notable projects is Gearcloud.

    Discovering Elixir

    Initial Encounter

    Pedro first heard about Elixir between 2015 and 2016. He was intrigued to learn that it was developed by a Brazilian, José Valim, and decided to explore this functional language based on the Erlang VM.

    Key Points:

    • Developer Background: Developed by José Valim, also the CEO of Plataformatec.
    • Global Usage: Adopted by companies in Germany and Brazil, such as Pipefi.

    Setting Up the Development Environment

    Docker Environment

    To start experimenting with Elixir, Pedro created a Docker environment. This setup allowed him to play with the language and understand its capabilities.

    Key Steps:

    • Docker Setup: Created a Docker environment for Elixir experimentation.
    • Initial Projects: Played with various frameworks like Phoenix and Chicago Boss.

    Advantages of Elixir

    Syntax and Similarity to Ruby

    Pedro highlights the similarity of Elixir's syntax to Ruby, making it an attractive option for Ruby developers. This familiarity eases the transition and enhances productivity.

    Key Benefits:

    • Ease of Transition: Ruby developers can quickly adapt to Elixir.
    • Performance: Elixir handles multiple CPUs efficiently, enhancing performance.

    Experience with Phoenix Framework

    Pedro's experience with Phoenix, particularly Phoenix LiveView, was transformative. He found it to be an excellent combination for his project needs, streamlining the development process.

    Key Features:

    • Real-Time Updates: Phoenix LiveView enables real-time updates with minimal JavaScript.
    • Efficiency: Simplifies the development process for solo developers.

    Practical Applications

    Side Project: Gearcloud

    Pedro discusses his side project, Gearcloud, a food service app. He explains how Elixir and Phoenix helped streamline his UX process, from Figma designs to production.

    Project Workflow:

    • Design in Figma: Start the UX process in Figma.
    • Integration with Zeppelin: Use Zeppelin for HTML and CSS generation.
    • Phoenix LiveView: Integrate with Phoenix LiveView for seamless development.

    Performance and Scalability

    Running on Docker

    Pedro demonstrates the performance of Elixir and Phoenix running on an old laptop with Docker. He highlights the efficiency and ease of use, even on less powerful hardware.

    Key Points:

    • Fast Boot-Up: Elixir and Phoenix boot up quickly in Docker.
    • Resource Efficiency: Runs efficiently on older hardware.

    Future Plans and Conclusion

    Upcoming Updates

    Pedro shares his plans to release more updates about his project by early 2023. He invites the audience to connect with him on LinkedIn for further discussions.

    Future Goals:

    • Project Release: Aim to release updates between January and March 2023.
    • Community Engagement: Encourage discussions about Elixir and related technologies.

    Ready to deploy your Elixir applications with Kubernetes? Register for the next Elixir Meetup at Curiosum Meetups: Registration Join our community of Elixir enthusiasts at Elixir LinkedIn Group Prefer watching the presentation? Here’s the video

    Mikołaj Musioł Recruitment Specialist
    Mikołaj Musioł IT Recruitment & HR Specialist

    Read more
    on #curiosum blog

    Bringing SOLID to Elixir

    Bringing SOLID to Elixir

    The SOLID principles, originally designed for object-oriented programming, can also be adapted effectively to functional programming languages like Elixir. Read how to apply it to create more maintainable, scalable, and adaptable software systems.