3 ms·
That's a great question, and one I'm going to struggle to answer. Like I said, it was my first Rails project, and I wasn't even attempting to have any sort of t
by patrickdavey 10y ago
That's a great question, and one I'm going to struggle to answer. Like I said, it was my first Rails project, and I wasn't even attempting to have any sort of tests. The project was developed piecemeal, and then reworked a few times (e.g. adding polymorphism for the different video types, tiny bit of meta programming etc.)
Converting to Phoenix I found pretty straightforward, however, that was _after_ I had spent 3ish weeks going through the Programming Elixir & Phoenix books, so you'd want to factor in time to get up to speed with the language. I found working with Vue very straightforward, I found setting up the browserify development environment with Phoenix & Vue _hard_. Well, tricky anyway. For example, starting up the node processes to watch & rebuild the assets, reload the code in the browser, and getting that to start & stop automatically when you run `mix phoenix.server`, things like that took ages for me to work out, but it'd be way quicker now.
I also found Ecto a bit of a mind-bender to begin with. I'm certainly not holding up my code as a paragon of "the right way to do things" ;) Working out a neat way to do polymorphism in Elixir took me a little time. It's my first functional language so that all took time to get up to speed with (and even then I'm no expert)
Finally, using a client-side framework is total overkill for what is essentially a bog standard client-side app. But I wanted to get to grips a bit with Vue, websockets, and I really wanted to play with Elixir (I'd love to get work in it someday).
You can see the entire git-history if you want to see _roughly_ how long I was spending. I'd still be quicker to build in Rails I'm sure, but, I'd say once I was practiced at Elixir it'd be roughly the same amount of time building in either, and the websocket & ease of integration of JavaScript tooling (pre Rails 5) is definitely better with Phoenix. Converting the Vue was easy though, that just ported as-is (definitely a benefit of only talking JSON)
Anyway, sorry not to be able to give a proper answer.