Answer the question
In order to leave comments, you need to log in
WEB-programming. What to choose and where to start?
Greetings!
I had a desire to learn how to write something for WEB.
Previous programming experience - system and application software in Delphi, C#.
There is a real training project - an authorization page, a data entry page, a database where data is stored, an analytics page where processed data is displayed. There are many users who want to use the resulting product. There is no understanding of what to choose to study - JS, jquery, RoR, Rubby, etc. There is an understanding that the tool is chosen for the task and I want to understand what is easiest to learn and what will give an understanding of how to write for the WEB.
Recommendations for the development environment are also welcome (I'm used to VS and RAD Studio).
Thanks in advance!
Answer the question
In order to leave comments, you need to log in
In my opinion, the basic knowledge is as follows:
1) Client-side layout and styles (html, css). You can skim through the eyes at least on the topic. Read about layout rules.
2) Client logic, work with DOM (Javascript, Jquery). An important topic - it is worth devoting time to it.
3) The theory of distributed applications. — Web applications are most often distributed. Therefore, it is worth studying the architectural principles of distributed applications. API, etc.
4) Databases (SQL, etc.) - Of course, it's worth starting with the classic sequel - but it's worth looking at a wider one - for example, nosql solutions.
The next step is to choose a technology platform. With your background, it's probably worth looking into Microsoft ASP.NET MVC. It's a great solution and a deep dive into the vast world of development within MS solutions. They now have the most developed programming languages (C# 5.0), the most developed tool environments (MS Visual Studio), one of the most advanced virtual machines (.Net).
The solution is most convenient for serious and large-scale projects, although it is quite suitable for small ones.
The next candidate is Ruby on Rails . This is a developed solution with a wonderful programming language and excellent framework solutions, tailored specifically for the web. Perhaps better suited for small applications - but industrial products will pull without problems.
It is also very common.
And of course PHP. The programming language of this technological platform lags behind the requirements for developing large solutions - it is more suitable for writing scripts. However, there are a huge number of frame solutions for this platform, which allow you to implement even decent-sized products. In addition, this solution is probably the most common of all.
And it is slowly being pulled up to the level of platforms for the development of industrial products.
There are also many other solutions. For example, the huge world of Java and server-side Javascript solutions .
The scope of works will consist of the following parts:
1) Client side (html, css, javascript). Here you will need knowledge of layout just and javascript. You should also use various basic solutions and frameworks. This is exactly the part where too deep knowledge (for example, using pure non-cross-browser javascript) can be harmful and it is better to base everything on ready-made platforms.
Often this part in web applications is more than we would like.
2) Server part. Here everything is determined by the technological platform described in the previous paragraph. In web applications, as a rule, there is little server logic - almost everything can be replaced with external libraries. But there is always a temptation for desktop application developers to develop this particular part because it is familiar to them - do not fall for it. Project-specific server-side logic is not needed very often. If there is a lot of it, then someone is interested in bicycles. The same applies to the development of APIs and systems for interacting with external services.
3) Databases. Of course definitely! It is worth using developed ORM systems. That is, you need to study them for the technological platform you have chosen. And of course, basic knowledge of databases will also be very necessary here - a sequel, a relational model and everything else.
Go ahead. I'm rooting for you.
Make a list of the most likely technologies and read the introduction to each. Create a tiny project in each. And there it will be seen what the soul lies to.
We need to start with html+css+js. These languages form the application domain for other languages. Without their good knowledge, many problems await you.
IMHO in your case it is worth starting with php.
Since you have experience with more or less strict languages, the PHP liberalism should not harm the child's fragile psyche. True, you should still enable E_STRICT immediately when you start writing.
The advantage of php for a beginner is that there is work for a beginner. There is too much general technology to be learned to even qualify as a junior in more advanced languages.
You just don’t get fooled by this liberalism ... at first you revel in how cool it is that you are not limited in anything, then you get used to the idea that there are no many familiar tools (and you are still lucky, you did not find OOP in php4). Then life seems great… and when you go through a megabyte of code, you start whining “give me, give me, give me hard typing!!! rasras”, turn on E_STRICT and you will immediately learn a lot about yourself ...
Bottom line: I advise PHP, but write strictly right away. Start with one of the coding standards...
All good and new books are in English.
So start with English .
Looking at what goals.
If it's just a hobby, then read general literature, see what you like best ...
If you find a job, then look at which words have more vacancies.
You correctly write that the tool is selected for the task, but the web is a zoo of technologies and tasks, so this is not a choice, it is too general G)
For client-side applications, there is javascript, flash. For server applications, php, ruby are most often used now. For large projects, more databases are needed. Well, there is also node.js and other special things.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question