V
V
Vladislav Orlov2014-12-26 12:01:07
Computer networks
Vladislav Orlov, 2014-12-26 12:01:07

Is the C++ website development platform interesting?

Good afternoon!
In order to get initial feedback, we are interested in your opinion about the project we want to start. For convenient criticism, the main points are divided into paragraphs.
The goal of the project: to make the development of fast and highly loaded web services fast and convenient
1.) The project in question is a web platform written in C ++ 11 (+ Boost), connected to a web server via FastCGI.
2.) For routing, it is supposed to be able to change it at runtime (without changing the platform code, etc.) by changing the routing config.
3.) It is proposed to write bound controllers in a scripting language (without touching C ++, compiling there, etc.), for example, in LUA
4.) The main functionality is supposed to be distributed in packages that contain: migrations, a shared library with logic, basic templates for the package, assets, etc.
5.) DTL (Django Template Language) Templates
Thanks in advance!
UPD1:
They abandoned Boost in favor of micro libraries (for a specific task). Abandoned Lua in favor of more flexible routing rules.

Answer the question

In order to leave comments, you need to log in

9 answer(s)
D
dyadyaSerezha, 2014-12-26
@dyadyaSerezha

I would start by listing the shortcomings of the current solutions and explaining how the proposed solution will fix those shortcomings. Otherwise, everything is meaningless.

A
Armenian Radio, 2014-12-26
@gbg

From the good: it will probably work quickly. It will be even faster if you throw away boost and FastCGI by writing your own web server. Walk so walk, as they say.
If it's all about hammering nails with a smallscope, use Hiphop PHP or kPHP. They translate everyone's favorite PHP to C++ and then to so.

S
Sergey Lagner, 2014-12-27
@lagner

Personally, I would be interested in such a project, if open source could even participate.
However, some points are questionable.
1. Why FastCGI? This is my personal IMHO, but he is ugly and has outlived his own. It may be better to write your own server (based on libuv or boost asio, for example). If you don't want to get rid of FastCGI, then I advise you to look at the solution of programmers from yandex'a Fastcgi-Daemon . How will yours be better?
2. DTL as a format or will you embed python? It's just strange, why sag in performance here when there are positive template engines, Mustashe as an example
3. I somehow don't really see the point in script controllers.
I had an idea to implement something similar to nodejs express on pluses with a layered architecture and asynchronous bindings for sockets, databases, etc.
For accompanying files, use qrc from Qt, then it will be deployed as one monolithic so'shka.
True, this is still at the level of the idea ...

A
Alexey Yeletsky, 2014-12-26
@Tiendil

Not relevant.
1. The main delay in processing requests to site pages goes to accessing third-party services (databases, caches, and so on), and not to routing, so the performance gain will not be as big as it seems (and would like).
2. Really heavy computational things are already written in C ++, easily integrating into the infrastructures of traditional web PLs.
3. The cost of maintaining a team of C ++ / Lua programmers is higher than for PHP / Perl / Python / Ruby + a couple of extra servers, if necessary. Plus, behind these languages ​​there is also a gigantic infrastructure. Development timelines are also not in favor of C++ programmers.
4. Go is already there - it occupies exactly the niche that you aim for.
Summary - not worth it. This is not a C++ niche - this old noble PL had enough time to occupy it and did not.

S
sitev_ru, 2014-12-26
@sitev_ru

Imagine what would happen if I took on this task...
Interesting ... I would give a web programmer simple classes to work with this platform
I am against LUA. Only C++!!! )))
It's probably too complicated... I'd take HTML + inside the form variables: {var}
To make it more interesting for your team, I've already taken on a similar project... We can join forces! )

K
Konstantin Kitmanov, 2014-12-26
@k12th

If the business logic is written in Lua anyway, then where does the speed come from?

A
AxisPod, 2014-12-27
@AxisPod

1. There are already ready-made solutions that provide access via CGI, FastCGI, Socket, etc., what are the differences from the existing ones?
3. What then is the point in general in C ++? Networking in scripting languages ​​is already written in C++.
2. If you do it all the same on C ++ controllers, then routing does not make sense at runtime.
4. Well, usually everyone starts something like this for their infrastructure or doesn't start it, this is the last thing you should think about at this stage
5. Will you implement your own full-fledged template engine? Why not take a ready-made solution and finish it? Or is python meant to be used?
It’s too strange a decision, or everything should be done in C ++ 11, while a lot of mechanisms have really appeared that will simplify implementation and use. Or don't do it at all. How many projects have already started and unfortunately all are now dead.

T
tzlom, 2014-12-28
@tzlom

Such things already exist, there were even articles on Habré, but it did not take off.

V
Victor, 2015-12-30
@Levhav

Have you heard from cppsp?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question