Are there any specific requirements that can only be satisfied by using one?
And ‘what’ are you making? How front-end heavy is it? Is it highly dynamic? Is it static? Etc…?
Actually, there are no hard requirements. My client just want to test the idea if it’s worth doing. I was going to develop something quick and dirty, and then refactor if I need to.
It’s a fashion news website similar to Hacker News. Users can submit various posts about fashion industry, celebrities, etc., and then discuss them.
It will sure work fine will not be as refined though (no on the fly validations, page reloads etc.) but as MVP to test the waters it can work (provided your client is fine with limitations ).
If you want to provide optimal user experience at least in the form of client side form validations it’s hard to get away from using js.
That makes sense. Could you recommend a framework that fits my project the best? Or any will do? My top 3 list:
I would strongly recommend against Meteor
You don’t have to build an SPA so simple jquery might be enough depending on you project needs.
Riot is fun (never used in a production project though) but if you are going to dedicate a lot of effort to learning js and a framework one of the big three might be a better investment of your time React (not a framework but…), Angular(2) or Ember.
Thanks! Scratching out Meteor off my list. Forgot about good-old jQuery. That should be enough to keep me going.
I just realized your joke about Meteor. Forgot it’s a full stack framework. No, thanks. I’m sticking with Phoenix
Read about the “franken-stack” http://www.east5th.co/blog/2016/08/15/meteor-in-front-phoenix-in-back-part-1/
Most sites are “open, check, close” experiences that don’t come close to justifying the additional overhead.
Maybe twitter bootstrap then, for a quick test? In general I do not prefer to use large frameworks. Copy paste some things I wrote / copy pasted in the past about it:
“Prefer dedicated libraries to monolithic frameworks. When you choose a framework, you make a large, long term committment. You sign up to learn about the framework’s various inner workings and strange behaviours. You also sign up to a period of ineffectiveness whilst you’re getting to grips with things. If the framework turns out to be the wrong bet, you lose a lot. But if you pick and choose from libraries, you can afford to replace one part of your front end stack
whilst retaining the rest.”
If you wrap the libs they will be replacable with minimal effort. All in all a lot of work, you have to see for yourself if it could return the investment. I created a dynamic grid this way (see pic). Responsive design, mininimal config of the UI in the .html. I was rewriting the framework (not working at it now) so that it could take all UI definitions (except styling) in a json provided by the server which makes the ui even more flexible / dynamic (adaptable on the fly based on userproperties, f.e. language).
You mentioned a “Hacker News”-like fashion portal. I think you’ll be just fine with server-side rendering. Are you familiar with Rails? If so, this is simple and straight forward in Phoenix. Each action maps to an eex template. Like some others have mentioned before, there’s nothing wrong with using just jQuery and introducing a client-side library or framework later. If you go the jQuery route, you can probably omit Brunch,
$ mix phoenix.new --no-brunch. Happy hacking
It sounds like omitting Brunch is good idea in my case. Thanks, @sudostack.
Instaclick takes 5 minutes to get up and running and is very effective if all you want is near instant page transitions.
Barbajs is also very easy to setup but it comes with a lot more options so you will have to spend some more time learning what it can do for you.