Hi,
Can someone list down the set of 'latest, cutting-edge' development frameworks, libraries and tools for building a perfectly - responsive, high performance - customer portal ?
[ Updated Question] : In JavaScript with Angular 2.0
Appreciate your response in advance.
Personally I use Bootstrap for the theme layout and Nova Framework for building the application. Works well for my needs.
It's hard to pick exact framework/tool since you didn't define your current skills and experience. However, I would say that going for more conventional backend MVC with relational database is a way to go. For that kind of site I think it's not wise to go for SPA & NoSQL route. That's just my opinion, SPA devs, don't flame me :D
I don't know which language you code in but if you're working with PHP I recommend you Laravel and Symfony as they are well tested, polished and relatively easy to use.
Question: What kind of customer portal? It highly depends on what kind of stuff you want to put there.
As a good foundation, I use
HTML5 Boilerplate CSS, as it has a nice normalization, no style and is really light-weight that way. Do not use the templates, though. Try to build withoutjQuery, but if you have to use complex selections, do not hesitate to use it.In terms of knowledge, do not miss out on
extended BEM / BEMIT. You really should read csswizardry.com and Smashing Mag . As for responsiveness, you might want to check out this device agnostic way .Do you need a lot of widgets? Then you might want to take a look at
FluxandReact, maybe combine it withbackbonefor data locality.Do you need to reuse your HTML a lot (e.g. lists, blog entries,...), I highly recommend
Polymer. You can either use the paper elements in a design-neutral way or create entirely custom elements.Do you need icons (everyone needs them :D ), go for
FontAwesome.As for the backend, I recommend using whatever you are familiar with (Node.JS, PHP, Python,...), but do_not_use_nosql. NoSQL is nice in terms of BigData and some caching solutions, but for a portal you want to stay with SQL as it enables you to use relational databases.