The theme was not created for holivar. You just need to know what framework to use and where to justify your choice. What are the disadvantages, advantages of competitors, regardless of the scope of application (for example, RoR does not have enough documentation compared to .NET). Generally a question to the guru. Talking about the poor performance of the same RoR I think it has long been irrelevant, and what really weighty differences (in addition to the language and the server being deployed) are hard to say.
I will describe my little experience.
Ruby on rails
The speed of development, a lot of ready gems, plug-ins, a lot of documentation articles, etc. due to the fashionableness of this framework. First of all, it is suitable for the rapid creation of sites. We start with prototyping and go ahead. They say there is a performance problem. But they say that it usually rests on the database, so it is quite debatable. You can add that Twitter uses RoR for its interfaces.
This is a python. Beautiful and flexible language. If I had the task to create a site, I would choose this solution. Why? Good community including on Habré, many third-party extensions for any tasks, powerful standard library (more rubiy yet). To say that Jang is better than Rail? Vryat whether. They are very similar. In Django there is an admin and a cool template engine, which is also expanding. This is a very flexible framework, as well as rails vropchem. Originally created to quickly create news sites, and he really does it well. There are also flat pages.
PHP (Yii, CodeIgniter)
What can I say? It all began with him. I do not think that it will be impossible to find any code or component to solve the problem on the web at php. There is everything. The only thing that depresses is the language itself, although initially I loved it. Before acquaintance with Ruby and Python. Suitable for both fast development and normal. Depends on the selected framework. Yii, for example, a very cool framework. It looks like something on the rails, but still differs much. I liked the approach to localization and the presence of a CRUD interface for models. It is important to add that the number of vacancies on PCPs is much larger and this is understandable why, although the trend is beginning to change.
In fact, a copy of the rail, but for Java. Although again, not quite a copy. Rather ideology. The ideology of rapid web application development. A lot of plug-ins, a beautiful Java-compatible language and the coolest - if something isn’t, you can take it ready for Java and adapt it. I don’t know how it is now, but in versions prior to 1.7 there were performance problems due to Groove himself. But if Gruvy ++ has already been adapted or included in the core of the groove, then the problem is solved. Try it anyway. Especially yavashnikam like me :)
For tiny projects, there are miniframes (Bootle on Python, Sinatra on Ruby). As a rule, to create a site from a pair of dynamic pages and for rapid prototyping, for example, URL schemes.
Generally, a little strange question. Usually either there is a clear requirement from the customer or team, or to what the soul lies. And so, on any of the frameworks for popular languages, you can create a variety of projects.
No holivar not breed. My personal opinion, since I worked with all of these.
I will also insert my 5 kopecks in favor of ASP.NET MVC , although before the guru, as far as the moon is cancer ...
- very comfortable working with JSON thanks to JsonResult, and generally working with client code, in particular, any built-in "buns" with validation
- the presence of AsyncResult, which help to update the data in the background without blocking the main stream
- full support for REST, although this will not surprise anyone
- There are "cool" controls from Telerik
- Do not forget about the possibilities provided by VS in the development: templates for vyuh and controllers, etc.
- I heard it is very well covered with tests, but I didn’t check it in my experience =)
- unlike many Microsoft products, is open - you can pick the source code
otherwise everything is at the level of competitors. In general, if you have a large part of the code on the client and there is no hostility to the Microsoft server technologies, then this particular framework will be the most suitable.
in favor of Django is the admin panel, if you make a simple project from scratch, then roughly speaking it takes half as long
Let's start with the fact that you need to use what you know best.
Secondly, it still depends on what you are going to do.
I will give an example: Let's take as a basis two template engines: Smarty and Twig . The purpose of the job, make a business card site.
In this case, I think, to use any of the template engines, perhaps even does not make sense. Although Twig, for example, is very tiny, but its functionality is not very small at all.
If you need to do something in between, you can use both Twig and Smarty , it all depends on what you are better at.
You can make a project of any complexity, in principle, on any of these template engines.
You just need to decide when and what to use. And when you can and refrain from using them. )
Also with your .NET and RoR . )
In favor of ASP : In order to do sites on ASP.NET , you need to know HTML and VB.NET at a basic level, ASP also has MVC , as well as RoR , but ASP is easier because it has an IDE , from framework developers with a visual editor ...
ASP.NET webforms - high abstraction.