Open discussions on specific topics selected by the Software Working Group and selected from the list of SWG Topics For Discussion.

Wednesday, February 10, 2020 - Best Practices for JS/TS Projects within the Software Group

Attendees


Moderated by Michal Ondrejcek

The goal of this round table is to discuss some best practices for JavaScript/TypeScript projects within the Software Group. We will discuss our findings and open it up to discussion. We will show project templates that can be used to start new Vanilla JS/TS and React projects. The templates will include basic configuration for processes such as testing, linting, documentation, and build. These templates will be used to improve ongoing projects within the Software Group.

The results of this focus group are presented by Michal Ondrejcek and Kaveh Karimi Asli

Michal gave an overview of what the focus group hoped to achieve.  Kaveh presented slides describing the critieria for picking a technology/library/framework in REACT & JS.

Templates should be easy to customize.  All configurations should be in different files for better organization The templates can use both JS and TS.

The deliverable is an easier means of coding in REACT & JS/TS.

Luigi shared his experience shared with REACT.  It took forever without knowing about templates.

Matt Turk shared that much of his work with ts has been guided by templates from jupyter, where they have a "cookiecutter" template to instantiate. (Cookiecutter is a python-based templating system, and their cookiecutter has lots of stuff including github actions built in.)

Camille Goudeseune shared that the idea of front end "DRY" is to run html through the C preprocessor with a Makefile :). Chen, thanks for encouraging us that it's not too hard to get into.

Chen shared her personal experience in working with REACT without knowing what she was doing.  The templates and packages are very helpful.  Don't be intimidated by your projects, the five categories that were presented are very helpful.  Chen feels that REACT has a steeper learning curve than html+jquery+css, but is so much more elegant.

The Slack channel is very helpful for anything related to

Matt Berry shared that he used to use Yeoman.  Having people start from the same point provides support from across the center.

Kaveh shared his screen from a JS Survey that shows the number of tools that were used.  TypeScript, React and Webpack are trending up while Angular is going "out of fashion".  Another tool is https://svelte.dev/

Matt Turk suggests that this podcast is very interesting: https://datastori.es/163-svelte-js-for-web-based-dataviz-with-amelia-wattenberger/

A question was posed to Kaveh about how was the focus group experience.  While it is time consuming, the brainstorming with the group is very exhilarating.

Steve Pietrowicz shared that he used the JS library Processing for visualizations. I had zero JS experience and went on to do this in a couple of days: https://lsst.ncsa.illinois.edu/~srp/alert/alert.html.

He was also surprised how quickly I was able to throw something together. It’s not “correct” in some places, but I had to throw something together for a meeting in about 3 days. That visualization is triggered on timestamps taken from a simulation of the LSST telescope and HTCondor interactions as jobs started and stopped.

Jong Lee shared that while this is a focus group about Best Practices, we need to be vigilant about changes and improvements.

Peter Groves shared that focus groups that run across the center needs cooperation with a small group and a lead.

Please feel free to share ideas for round tables and focus groups.



Links for overview of Best Practices for JS/TS Projects within the Software Group












  • No labels