On Thu, Apr 21, 2016 at 08:17:50PM +0530, Ratnadeep Debnath wrote:
Hi,
On Thu, Apr 21, 2016 at 2:46 PM, Pierre-Yves Chibon pingou@pingoured.fr wrote:
Good Morning Everyone,
Our infrastructure is mostly a python store, meaning almost all our apps are written in python and most using wsgi. However in python we are using a number of framework:
- flask for most
- pyramid for some of the biggest (bodhi, FAS3)
- Django (askbot, Hyperkitty)
- TurboGears2 (fedora-packages)
- aiohttp (python3, async app: mdapi)
While this makes sometime things difficult, these are fairly standard framework and most of our developers are able to help on all.
Although there are a number of pros for the above approach, I'd like to highlight a few downsides too:
- UI and backend development are tightly coupled
- HTML responses from backend are not that reusable
- Not ready for multi platforms
However, as I see us starting to look at JS for some of our apps (fedora-hubs, wartaa...), I wonder if we could start the discussion early about the different framework and eventually see if we can unify around one. This would also allow those of us not familiar with any JS framework to look at the recommended one instead of picking one up semi-randomly.
So has anyone experience with one or more JS framework? Do you have one that would you recommend? Why?
After doing quite a lot of reading on ReactJS vs Angular2, and based on instinct, I prefer React because:
- lean and thin, less react specific jargon, mostly javascript
- initially it might have a bit of more learning curve, but once you
get the hang of it, it becomes easier. Unlike Angular2, which is easy to start, but the learning curve, gets steeper and steeper as you progress
- React shows errors at compile time itself, rather than on runtime
like Angular2
- React is lightweight and has a simple API. You don't need to read
react's source code to understand what's happening
On the other hand:
- Angular2 is a richer framework, easy for new developers to get started with
- I love how nativescript allows you to write native apps for mobile
platforms using Angular2, allowing 80% code reuse
You can find some useful reads at [1], [2].
We should also give some thought to the framework(s) that:
(1) have robust upstream communities themselves, with active development where appropriate, and
(2) have massive uptake in the overall developer realm beyond just our current contributors;
...and balance that against perceived technical excellence, purity, etc. This way we can grow or maintain our ability to on-ramp new contributors to projects we work on.