I usually touch Python and am trying to create a web application for the first time. C also touched for about two years.
So, when I thought about creating a web application, Django, Rails, and Vuejs were recommended. I also want to use the knowledge I learned here for my work
Which language (framework) should I develop?
I usually touch Python, and the number of Python engineers has increased recently, so the demand for Django is inevitably increasing.
Ruby on Rails has always been in absolute demand, learning costs are low, and there is still high demand.
Vuejs is a framework that has recently attracted attention, and it can be used on the client side.
There were a lot of things like this, and I didn't know which one was good after all.
It was also written that Golang is a fast and fast language. (I didn't understand Go's framework well.)
So what language (framework) should we learn considering the future demand?
Answer # 1
I don't really understand the demand, but ... (or Java or PHP if you decide on demand)
The code that establishes the Go application is mostly written in Go.
So you can read the back of every feature.
You can follow the TCP/HTTP mechanism, TLS, certificate handling, etc. without wrapping up.
When you create a web application with Go, combine "small responsible functions"
You can see how the application is being built without being hidden.
(Thanks to this, I have deepened my understanding of how the server and client verify each other's certificates, TLS handshake, and HTTP.)
The use of the framework hides these and requires how to get on the framework.
You can implement a general app without touching the backside of it.
The framework doesn't matter if you don't know the backside while on the rail,
As for the details, you don't have to worry because the framework takes care of it and has the processing.
However, as soon as it was required to come off the rail,
An understanding of the mechanism behind the framework is required.
If you follow the framework, it may be difficult to follow the behavior using an external library written in a language different from the application. And the richer the framework, the harder it is to understand its behavior.
I used to build web apps in Python using Django and other frameworks, but now I only write in Go. Totsuki feels that writing web apps with Go is a bit annoying (especially around DB), but Go feels easier to follow and easier to maintain.
In addition, Python and Go have very different characteristics in building web applications.
Since static content cannot be served efficiently in Python, it is common to place a high-throughput proxy server in front of production servers.
Go can perform the role of a high-throughput proxy server by itself, so the deployment configuration is simple.
Although Python is a flexible template and good at generating HTML compared to Go, the demand for dynamic HTML generation on the server side seems to be steadily decreasing. I think that the structure that does not handle HTML and DOM on the server side by offloading processing to the browser side by static content and Vue.js or React is becoming mainstream.
"Web application implementation" = "API server and front end implementation".
Go is recommended if you are creating a new web app and want to delve into the knowledge about the mechanism between the browser and the web application server. Once you dig deeper, I think that understanding of the reverse side of the framework will be quicker no matter what framework you use.
Answer # 2
Which language (framework) should be learned considering the future demand?
If you are thinking about future demand, there is only one conclusion.Anything is fine, start first.
As the times change, what appears and disappears is constantly changing, and it's no wonder that "a framework that doesn't exist" becomes mainstream five years later.
The ability to adapt to anythingis the most important factor in walking around the world. If you look at the outline of "Web application based on HTTP", if you wear one, you will not learn so much when you move to another framework.
- ruby - about accelerating heroku's rails app
- ruby on rails: about nomethoderror that occurred when adding a good function
- ruby on rails - about variable error of rails like function
- ruby on rails 5 - about the structure when creating a blog with rails 5
- ruby on rails - about the legitimacy of db design
- about validation of ruby on rails
- ruby on rails - about rails create action
- ruby on rails - about bundler of dockerfile when deploying rails application to ec2
- ruby on rails - [rails 6 vuejs] 406 error in axiosget
- ruby on rails - vuejs cannot find element: app error
- ruby on rails - [rails] about the display position after redirect by pressing like
- ruby on rails - about screen transition from rails top page to calendar page
- [ruby on rails] about header setting using bootstrap
- ruby on rails - about conditional branching using elsif
- ruby on rails - about multi-word search to multiple columns using ransack
- ruby - about rails controller new action
- ruby - i have a question about rails routing errors
- ruby - [rails] about partial templates
- ruby on rails - rails render: about the matter that the url after new is different
- ruby on rails - about image posting page argumenterror
- ruby - i want to solve the n + 1 problem when using rails where method in loop processing
- ruby - [rails] i want to change the argument of link_to using conditional branching
- ruby - i want to save the prototype and move the page
- html - i want to edit and update from the edit screen
- html - i want to fix a routing error
- ruby - validation error when saving intermediate table
- i want to convert wav to mp3 with ruby on rails and pass it to active strage
- ruby - http error 500 error occurred in aws deployment, but the cause cannot be determined
- ruby - [rails] i want to find the date difference using the model created_at
- ruby - about the matter that the error message at the time of "rails" validation check is not displayed