Elixir and Phoenix after two years

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • PopRuby - Clothing and Accessories for Ruby Developers
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • indifferent_access

    [ALPHA] - Elixir Plug/Utility doing questionable things with maps/params

  • Elixir

    Elixir is a dynamic, functional language for building scalable and maintainable applications

    Interesting. Elixir builds are the fastest builds in my CI pipelines. I make sure to cache the builds/ folder, usually only a small amount of files need to be re-compiled, which is very fast. This was actually improved even further in Elixir 1.11 [0]

    [0] https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.m...

  • PopRuby

    PopRuby: Clothing and Accessories for Ruby Developers. Fashion meets Ruby! Shop our fun Ruby-inspired apparel and accessories designed to celebrate the joy and diversity of the Ruby community.

  • bullet

    help to kill N+1 queries and unused eager loading

    > Ecto prevents N+1 queries by default, which I think is clearly better.

    To be fair...

    If you want to protect yourself from these with Rails you can install Bullet[0] and get protection through in your face notifications, and you have the option to let it slide because you're taking advantage of caching with Rails and in this case you know what you're getting into and the N+1 query with caching ends up being better because you understand your domain.

    Rails also has the strong migrations[1] gem which is a huge help for not shooting yourself in the foot for running migrations in production by helping you avoid table locks and other issues / errors. But AFAIK there's no Ecto equivalent, but strong migrations is really really useful.

    Rails also has the data-migrate gem which is a nice little abstraction for splitting out your schema changes and backfilling data in an automated way. There's nothing like with Ecto. This one isn't as useful as strong migrations IMO but it's still very handy to have this problem taken care of for you without having to re-invent a new strategy in every project or copy code over.

    Basically all 3 of these things are something I'd use in every project in Rails but with Phoenix I wouldn't have these things except for N+1 query protection.

    [0]: https://github.com/flyerhzm/bullet

    [1]: https://github.com/ankane/strong_migrations

    [2]: https://github.com/ilyakatz/data-migrate

  • strong_migrations

    Catch unsafe migrations in development

    > Ecto prevents N+1 queries by default, which I think is clearly better.

    To be fair...

    If you want to protect yourself from these with Rails you can install Bullet[0] and get protection through in your face notifications, and you have the option to let it slide because you're taking advantage of caching with Rails and in this case you know what you're getting into and the N+1 query with caching ends up being better because you understand your domain.

    Rails also has the strong migrations[1] gem which is a huge help for not shooting yourself in the foot for running migrations in production by helping you avoid table locks and other issues / errors. But AFAIK there's no Ecto equivalent, but strong migrations is really really useful.

    Rails also has the data-migrate gem which is a nice little abstraction for splitting out your schema changes and backfilling data in an automated way. There's nothing like with Ecto. This one isn't as useful as strong migrations IMO but it's still very handy to have this problem taken care of for you without having to re-invent a new strategy in every project or copy code over.

    Basically all 3 of these things are something I'd use in every project in Rails but with Phoenix I wouldn't have these things except for N+1 query protection.

    [0]: https://github.com/flyerhzm/bullet

    [1]: https://github.com/ankane/strong_migrations

    [2]: https://github.com/ilyakatz/data-migrate

  • data-migrate

    Migrate and update data alongside your database structure.

    > Ecto prevents N+1 queries by default, which I think is clearly better.

    To be fair...

    If you want to protect yourself from these with Rails you can install Bullet[0] and get protection through in your face notifications, and you have the option to let it slide because you're taking advantage of caching with Rails and in this case you know what you're getting into and the N+1 query with caching ends up being better because you understand your domain.

    Rails also has the strong migrations[1] gem which is a huge help for not shooting yourself in the foot for running migrations in production by helping you avoid table locks and other issues / errors. But AFAIK there's no Ecto equivalent, but strong migrations is really really useful.

    Rails also has the data-migrate gem which is a nice little abstraction for splitting out your schema changes and backfilling data in an automated way. There's nothing like with Ecto. This one isn't as useful as strong migrations IMO but it's still very handy to have this problem taken care of for you without having to re-invent a new strategy in every project or copy code over.

    Basically all 3 of these things are something I'd use in every project in Rails but with Phoenix I wouldn't have these things except for N+1 query protection.

    [0]: https://github.com/flyerhzm/bullet

    [1]: https://github.com/ankane/strong_migrations

    [2]: https://github.com/ilyakatz/data-migrate

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts