For those interested José Valim (the creator of Elixir) is having a webinar on September 4th regarding the Phoenix web framework. You can read more about it here.
Thanks, I wasn’t sure if I could make it but registered after seeing this:
Can’t make it? Register anyway and we’ll send you the recording.
The Phoenix has landed
There is some discussion about having a built in User/Auth system in Phoenix on Twitter (I actually suggested this to Chris my self a little while back) so am jotting my thoughts down here…
Here are some of the benefits of having one (pretty much what Ryan stated when he decided to include a User/Auth system in the Volt Framework):
- Easy to create new projects - a very large percentage of apps require some sort of auth, not having to roll one each time is a huge plus.
- Easier to make changes - no need for overrides, as the User and Auth system is generated with your app it’s there/visible for you to modify to your heart’s content
- Opens up opportunities in terms of add-ons, if (pretty much) everyone is using the same auth system it is easier to incorporate into your add-on
- And if people don’t want it, they can generate the app without it
Reply to Chris here as there’s more room
I think the problem with Devise was that you needed overrides/the code wasn’t visible - so was much harder to work with unless you invested a lot of time getting to know it.
A built in User and Auth system would be fully visible in the generated app so much easier to get your head around and/or edit.
With regards to Reddit, I would just start a discussion (away from reddit) and come up with a system that would be a sensible starting point that people can build upon, or perhaps even have a couple of levels - basic auth and a more advanced auth. (Also, so far there has been a very positive response towards Volt’s User and Auth system.)
Personally I think the benefits outweigh the negatives (which can be completely negated if there is an opt-out).
It seems like the resistance to an auth system is that a one size fits all solution would be massively complex (like Devise), which I agree with. However, why does it have to be one size fits all? Why not have a simple simple solution that can evolve with the needs of the application.
I agree - a solid foundation would be a really good thing, and if people can simply opt-out then I can’t see any problems at all.
I would say most apps will need some sort of auth, and having one built in would just make life so much easier - especially if you build a lot of apps or prototypes.
Definitely one of the best things Volt got right imo
You need to start about 20 minutes in tho - as there were some hiccups…
Pragdave interview on Elixir Fountain:
Nice, just out - look forward to getting this, Programming Phoenix https://pragprog.com/book/phoenix/programming-phoenix
Phoenix is the long-awaited web framework based on Elixir, the highly concurrent language that combines a beautiful syntax with rich metaprogramming. The authors, who developed the earliest production Phoenix applications, will show you how to create code that’s easier to write, test, understand, and maintain.
The best way to learn Phoenix is to code, and you’ll get to attack some interesting problems. Start working with controllers, views, and templates within the first few pages. Build an in-memory repository, and then back it with an Ecto database layer. Learn to use change sets and constraints that keep readers informed and your database integrity intact. Craft your own interactive application based on the channels API for the real-time, high-performance applications that this ecosystem made famous. Write your own authentication components called plugs, and even learn to use the OTP layer for monitored, reliable services. Organize your code with umbrella projects so you can keep your applications modular and easy to maintain.
This is a book by developers and for developers, and we know how to help you ramp up quickly. Any book can tell you what to do. When you’ve finished this one, you’ll also know why to do it.
Good round up of Elixir conf so far:
Nice - just added it to my list (for when the Elixir forum goes up)
In the interest of keeping things balanced:
For me personally I am still going to learn Elixir… and make up my own mind
I agree with him about the shiny ball syndrome. I’m anti-new-shiny-thing. If I dropped what I was doing every time a new shiny came up I’d miss the road.
I’m waiting for a valid reason to use it. Each tool has a purpose.
That’s what I like about Elixir, it’s kinda shiny, but then it’s not many of it’s strengths come from Erlang, which is battle tested
Interesting (perhaps more idiomatic Elixir) way to interact with DBs…
Here it is: https://github.com/robconery/moebius
They just hit a million connections on a 44GB server!!