LinguisticData / LinguisticData.github.io

Web-Representation of the Linguistic Data Website
GNU General Public License v2.0
4 stars 3 forks source link

Interested in a conversion of the site to modern js? #5

Open widged opened 5 years ago

widged commented 5 years ago

The site was written 4 years ago, there are now ways to write easier to manage javascript code. Would you be interested in me spending some time doing that work for you?

Over 10 years ago, when I was still working as an academic (psycholinguist), I did set this up - lexicall.widged.com. And it too is in a serious need of a refresh. Because I am not an academic anymore, I am not interested in maintaining it. So I could simply merge all data that I have into your own database and do a refresh of your own site instead of mine. Note that an extra feature that I have is the option to automatically pop a form to filter/select variables for datasets that I have stored locally. I can make you benefit of that too.

It happens that I have 10 years experience as a front-end dev. I have developed tools for Marc Brysbaert in the past and am used to provide things that are easy for non professional programmers (aka academics) to manage without my intervention. I just do not want to dump a huge pull request on you that would only cause a What is this? as a reaction.

LinguList commented 5 years ago

For me, seeing some update and a PR with fresh data and code easier to maintain, would be interesting, but @bodowinter is the boss in this project, so depends on what he'd say about specifically extending the data. What I'd say, from coding perspective, however, is that the framework should still work in five years from now, as this was one of the main reasons why I now tend to use more vanillajs then ever in new projects, to avoid that they stop working due to some things where thirdparties stop working. So I usually stick to old frameworks in terms of design (to keep it simple for people to search, maintainging some look-and-feel they know) and reduce thirdparties (maybe not in this one, I even don't remember... you can see from my code that it's rather quick-n-dirty). But I'm not a front-end expert, so also happy to learn, but let's wait what @bodowinter says.

widged commented 5 years ago

Limit any dependencies, my approach as well. And I have, in the past built very complex, highly modular, apps with nothing but vanilla js -- you can see one instance there https://www.youtube.com/watch?v=iZ9SF7EkzG4. The site that Marc used to collect 200K age of acquisition data in Dutch was me as well, and only vanilla js for performance reasons. However, react js (important to mention, a library, not a framework) does really help to add some structure and makes the code much much more easier to maintain in the long term. Much much easier to add new functionalities without any risk of breaking other parts of the code. jquery, on the other hand, that you use at the moment, is becoming less and less used. Ah, yes it is possible to avoid the horrors of transpiling as well. As you say, let's wait for the boss :)

LinguList commented 5 years ago

However, react js (important to mention, a library, not a framework) does really help to add some structure and makes the code much much more easier to maintain in the long term.

I'll have to check that out, I'm keen on learning from best-practice examples here. I thought it's these pages where scrolling is the new clicking, but I guess I'm exposing how uninformed I am by writing this now...

widged commented 5 years ago

Reactjs is a library for writing modular code for view elements in javascript. Created and maintained by facebook, really not about to disappear

(source: Top JavaScript Libraries & Tech to Learn in 2018)

Note too that the js ecosystem has dramatically changed in the last 2 years, with the adoption of what is called es6 (or es2017). And this too makes the code much easier to write and maintain. And never worry about being uninformed. There are only so many hours in a day.

widged commented 5 years ago

@LinguList @bodowinter Could you give me an idea of the timeframe in which you would find the time to get some thoughts on this? I have been an academic, I am only too aware of the multiple demands of time in that line of work. But some idea of whether this could be next monday or next January would be helpful to me. We can take this on skype, if you prefer to have a quick chat (when it comes to timezones, I am in Brussels, Belgium)