ricardoekm / Kyrix

Interactive pan/zoom data visualizations at scale
0 stars 0 forks source link

Web framework? #5

Open ricardoekm opened 4 years ago

ricardoekm commented 4 years ago

Some web frameworks offer a battle-tested and a clean API to solve common problems when developing APIs or web applications.

For example: setting the allowed HTTP methods for a given end-point, reading the input, sending the output, marshaling and unmarshaling of data.

https://github.com/ricardoekm/Kyrix/blob/0ce6879a307f1d16440ef79fa978d9dc529020a2/back-end/src/main/java/server/ProjectRequestHandler.java#L50-L53

This would allow us to increase productivity by reusing existing solutions and by choosing a good framework avoiding implementation bugs.

Nowadays a good one for java is the Spring Boot package.

tracyhenry commented 4 years ago

Good to know! Also, just wonder if the backend should be rewritten in Node/JS. With JS, we won't be dealing with multiple languages. Java might be easier to write algorithmic stuff (e.g. data structures for indexing), but it doesn't strike me as JS is impossible for that. The one thing that I'd argue for Java is that it seems like JDBC is much easier to use... thoughts?

ricardoekm commented 4 years ago

IMO

Born in the browser, Javascript has been historically associated with front-end development. There's a growing number of projects and companies running JS in the back-end however, although possible, many back-end tasks won't be as mature as other platforms/languages. For example database drivers, dealing with parallel requests (for instance in Node to take advantage of a multi-core processor it's necessary to spin multiple node processes), etc.

I usually advocate the right tool for the right job, even if that adds some complexity to the general architecture.

JVM is an amazing piece of architecture, the Java language itself has got a bit outdated though. But there're other nices languages that run on top of the JVM such as Kotlin and Clojure (being Clojure my personal preference).

tracyhenry commented 4 years ago

good to know! thanks.