Didi
Any Phoenix related tips for someone without much webdev experience?
This is an issue I’ve found myself facing any time I get interested in web development/web frameworks. I’ve had experience using Django for university, and in that case I felt like I was being hand held to go from 0 knowledge to implementing a cookie cutter web application. When left to my own devices, the scale of complexity begins to get overwhelming.
I’ve recently been interested in Elixir and Phoenix, mainly for Pheonix’s proclaimed benefits with features like LiveView and how I instantly clicked with Elixir’s approach to functional programming. I’ve been going through the Phoenix tutorials on hexdocs and after the lengthy section on contexts, I realised that while following the docs in a project, taking notes, etc I feel like I’m getting in over my head. My abilities in Elixir to begin with are still at a beginner level, and while the tutorials I’ve been following have been incredibly well written (and in general the framework seems easier to understand than some others…), the idea of starting one of my own project ideas is quite intimidating.
This is not a problem that is exclusive to phoenix for me like I said - I generally don’t get on well with webdev so I don’t expect it to be easy. I was hoping I could get some inspiration from this community by asking you this: what were some of your small projects you worked on to learn Phoenix? What small projects have you worked on that exploit the defining characteristics of Phoenix to better understand them? And finally (the most googlable question, apologies), are there any other resources (books articles etc) that you would recommend for someone starting out with Phoenix, particularly geared towards someone without much webdev experience?
Most Liked
Dabsy
Its not uncommon to feel that way, its paralyzing to go from tutorials to just suddenly coding and its one of the biggest hurdles to being self-taught in anything. Best thing for it is to just start on your own starter project or idea you want to create, you need to learn to take something big and break it down, and then break that down event more until you have small focused and easily manageable chunks. Then whenever you don’t know how to do that one thing, refer back to a tutorial or googling.
Coding isn’t about knowing how to do everything, you gotta learn how to learn and how to turn something big into lots of small somethings.
(sorry missed the final questions)
I learned Elixir as my first language 6 years-ish back and my first project was a web scraper for presenting metadata. After that I’ve had various toys for learning stuff, an Ecommerce cart, an inventory management thing. Nothing ever took wings but I always tried to do something different and incorporate a new concept.
Phoenix really isn’t that much different from any other web framework, it does the cool elixir stuff for you. Just learn general web concepts that every language supports and you’ll be golden.
I’m book dumb so I can’t help you there, I’m always looking for new articles though.
derek-zhou
The best learning vehicle is your own project solving your own problems. Don’t worry about technology fit; Any decent language can do any decent project if there is not much external dependency, and Elixir is certainly decent enough.
sodapopcan
Let’s remember that LiveView is not at v1.0 yet. This means frequent breaking changes with each release, but that is to be expected. It’s annoying for now, but we’re almost there.
The default generators, as I understand it, are more geared towards learning than they are meant to be used by experienced users. If you are coming as an absolute beginner to web dev, as is OP, then every concept is going to be new and may as well throw streams in there. If you don’t agree, though, that is good feedback! But it’s not fair to claim that the authors aren’t focused on developer happiness or aren’t working toward stability.
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








