Fwd: [All][StoryBoard] Angular.js Alternatives
Hello Everyone! The StoryBoard team is looking at alternatives to Angular.js since its going end of life. After some research, we've boiled all the options down to two possibilities: Vue.js or React.js I am diving more deeply into researching those two options this week, but any opinions or feedback on your experiences with either of them would be helpful! Here is the etherpad with our research so far[3]. Feel free to add opinions there or in response to this thread! -Kendall Nelson (diablo_rojo) & The StoryBoard Team [1] https://vuejs.org/ [2] https://reactjs.org/ [3] https://etherpad.opendev.org/p/replace-angularjs-storyboard-research
On 2021-01-21 14:05:33 -0800 (-0800), Kendall Nelson wrote:
The StoryBoard team is looking at alternatives to Angular.js since its going end of life. [...]
See also the minutes and log from the weekly meeting where initial discussion of these points took place: http://eavesdrop.openstack.org/meetings/storyboard/2021/storyboard.2021-01-2... -- Jeremy Stanley
Kendall Nelson <kennelson11@gmail.com> writes:
Hello Everyone!
The StoryBoard team is looking at alternatives to Angular.js since its going end of life. After some research, we've boiled all the options down to two possibilities:
Vue.js
or
React.js
I am diving more deeply into researching those two options this week, but any opinions or feedback on your experiences with either of them would be helpful!
Here is the etherpad with our research so far[3].
Feel free to add opinions there or in response to this thread!
-Kendall Nelson (diablo_rojo) & The StoryBoard Team
[1] https://vuejs.org/ [2] https://reactjs.org/ [3] https://etherpad.opendev.org/p/replace-angularjs-storyboard-research
React +1 I've heard good things about Vue and I think it's very comparable to React, and probably a little easier to learn and work with, but even so, React has a huge amount of support and has made significant strides in becoming easier to use, to the point that it may be a tossup. Given that, the large React ecosystem and support base tips the scale for me. Overlap with Zuul means there's a bunch of code you can copy (and eventually vice versa, so don't consider this an impartial recommendation!). Also test jobs, framework, docs etc. See https://zuul-ci.org/docs/zuul/reference/developer/javascript.html and https://www.softwarefactory-project.io/react-for-python-developers.html for uniquely local perspectives on getting started with react. Finally, a relatively new development in the react space is the "redux toolkit". Redux is the standard-ish way of dealing with client-side state and transitions in react (and we use it in Zuul), but it's easily the least straightforward part of the whole system. Redux toolkit handles a whole bunch of the boilerplate there and makes it almost easy to follow. At some point I'd like to rework Zuul's use of redux to use the toolkit, but haven't gotten around to it yet. If storyboard uses react and redux, give that a good look; it's much easier to start with that. -Jim
Le 21/01/2021 à 23:05, Kendall Nelson a écrit :
Hello Everyone!
The StoryBoard team is looking at alternatives to Angular.js since its going end of life. After some research, we've boiled all the options down to two possibilities:
Vue.js
or
React.js
I am diving more deeply into researching those two options this week, but any opinions or feedback on your experiences with either of them would be helpful!
... Hello, Wikimedia has picked up Vue.js. It has been evaluated based on a fairly large of requirements and challenged against over frameworks with react.js being the main if not the sole challenger. Lot of the work happened in 2019 eventually leading to an introduction presentation by the working group late 2019: https://upload.wikimedia.org/wikipedia/commons/f/fd/FAWG_Demo.pdf <https://upload.wikimedia.org/wikipedia/commons/f/fd/FAWG_Demo.pdf> Formally agreeing on Vue.js went through a RFC which is https://phabricator.wikimedia.org/T241180 <https://phabricator.wikimedia.org/T241180> . The description at the top is the proposal to adopt Vue.js. The comments have all the discussions with arguments for both sides. The project lead of Vue.js (Evan You) came and clarified a few key points, which is always much appreciated. There some interesting exchanges regarding React. That should be a good read (grab several coffees). There are some more discussions on Hacker News which involved Wikimedia employees and it gives some more context: https://news.ycombinator.com/item?id=22625556 <https://news.ycombinator.com/item?id=22625556> I can ask internally whether anyone at Wikimedia would be open for a round of discussion with your group. Or feel free to reach out to them directly on my behalf. A few other random thoughts: - Gerrit UI is based on Polymer, Zuul has a dashboard using React. - If I got it right: Storyboard was written to replace Launchpad Blueprint in the context of OpenStack development. OpenStack Horizon uses Angular and I am assuming a lot of other OS projects do as well. Maybe there the framework selection for Storyboard should be made in coordination with the rest of the ecosystem using it? - if a rewrite is a lot of work, there is an opportunity to pick an entirely different system. But I guess Storyboard is adhoc for the unique workflows you have to support. Antoine "hashar" Musso Wikimedia Release Engineering
Thank you for the perspective! I am only just getting started reading the discussion on the wikimedia RFC now, but if I have questions, I will be sure to let you know! -Kendall (diablo_rojo) On Thu, Jan 21, 2021 at 3:08 PM Antoine Musso <hashar@free.fr> wrote:
Le 21/01/2021 à 23:05, Kendall Nelson a écrit :
Hello Everyone!
The StoryBoard team is looking at alternatives to Angular.js since its going end of life. After some research, we've boiled all the options down to two possibilities:
Vue.js
or
React.js
I am diving more deeply into researching those two options this week, but any opinions or feedback on your experiences with either of them would be helpful!
...
Hello,
Wikimedia has picked up Vue.js. It has been evaluated based on a fairly large of requirements and challenged against over frameworks with react.js being the main if not the sole challenger.
Lot of the work happened in 2019 eventually leading to an introduction presentation by the working group late 2019: https://upload.wikimedia.org/wikipedia/commons/f/fd/FAWG_Demo.pdf
Formally agreeing on Vue.js went through a RFC which is https://phabricator.wikimedia.org/T241180 . The description at the top is the proposal to adopt Vue.js.
The comments have all the discussions with arguments for both sides. The project lead of Vue.js (Evan You) came and clarified a few key points, which is always much appreciated. There some interesting exchanges regarding React. That should be a good read (grab several coffees).
There are some more discussions on Hacker News which involved Wikimedia employees and it gives some more context: https://news.ycombinator.com/item?id=22625556
I can ask internally whether anyone at Wikimedia would be open for a round of discussion with your group. Or feel free to reach out to them directly on my behalf.
A few other random thoughts:
- Gerrit UI is based on Polymer, Zuul has a dashboard using React.
- If I got it right: Storyboard was written to replace Launchpad Blueprint in the context of OpenStack development. OpenStack Horizon uses Angular and I am assuming a lot of other OS projects do as well. Maybe there the framework selection for Storyboard should be made in coordination with the rest of the ecosystem using it?
- if a rewrite is a lot of work, there is an opportunity to pick an entirely different system. But I guess Storyboard is adhoc for the unique workflows you have to support.
Antoine "hashar" Musso
Wikimedia Release Engineering
On Thu, Jan 21, 2021 at 10:24 PM Kendall Nelson <kennelson11@gmail.com> wrote:
Hello Everyone!
The StoryBoard team is looking at alternatives to Angular.js since its going end of life. After some research, we've boiled all the options down to two possibilities:
Vue.js
or
React.js
Hello, Kendall! This is likely the toughest question in the frontend universe at the moment. Both solutions are very well thought out and have solid ecosystems. Based on observed productivity both are good choices. Personally, I have done more Vue than React. I have added a few points in the etherpad. Angular is not a bad choice either but it involves much stronger bonding with the final product. The others leave more freedom of choice. As for the verdict, I am afraid the best solution would be to run voting for parties interested in Storyboard development and just stick to the poll winner. -yoctozepto
I am diving more deeply into researching those two options this week, but any opinions or feedback on your experiences with either of them would be helpful!
Here is the etherpad with our research so far[3].
Feel free to add opinions there or in response to this thread!
-Kendall Nelson (diablo_rojo) & The StoryBoard Team
[1] https://vuejs.org/ [2] https://reactjs.org/ [3] https://etherpad.opendev.org/p/replace-angularjs-storyboard-research
participants (5)
-
Antoine Musso
-
Jeremy Stanley
-
jim@acmegating.com
-
Kendall Nelson
-
Radosław Piliszek