DEV Community


Posted on

what should be best technology stack for R project?

I want to create an application which will generate the graphs using R in which I will take data from database and pass to R project, R will do some operation and pass it back to front end?

I have several questions before I start project

  1. Which programming language/framework I should use (C#, Python, PHP, Node)?
  2. Which database should I prefer?

In short, what should be technology stack for this kind of project?

Discussion (4)

awwsmm profile image
Andrew (he/him)

You should look into shiny. With shiny, you can connect to a database and handle the backend logic and the UI, all without leaving R.

prasad2gavande profile image
Prasad Author

Thank you Andrew for suggestion. I'll try this.

prasad2gavande profile image
Prasad Author

Hi folks,
What you think about
R - data analysis
Python + django - programming and create API
PostgreSQL - database
Angular- front end

Will this be good technology stack for R project?
Please suggest your opinion.

gabrielfallen profile image
Alexander Chichigin

In principle, you can use R with any web-framework and technologies so the logical choice depends on what you already know best.

If you don't know other languages and web-dev frameworks apart from R, then already mentioned Shiny is your best option. Apart from not learning additional languages, Shiny is indeed very nice, easy to use and "reactive" as they say web framework. Better than most of others.

If you absolutely want another language for your web back-end - for some reasons like "mature", "battle-tested", "performant" and such - Python is reasonable, though I prefer web2py over Django. Other reasonable options are Ruby on Rails, Clojure, Kotlin, Java, C#.

One thing I srtongly advise against is developing SPA front-end in JavaScript/TypeScript with Angular/React/Vue/whatever. Your best option is server-side rendering with regular templating technology and preferably without JS at all.

PostgreSQL is a very good DB for very broad range of applications, can recommend.