
On Tue, Jun 1, 2010 at 12:04 AM, Artyom <artyomtnk@yahoo.com> wrote:
Could always create such a site using Wt[0] or so in pure C++/Boost
Isn't Wt more orientated towards developing applications rather than hosting content?
Not necessarily, even the main Wt site is very static. The main bits I like about it are: - It is like developing a gui application, using signal handlers, etc...
Few words about Wt model:
- It holds server side live object for every user session which is quite huge overhead for high traffic web site.
There is a quote from their docs:
> Thus, for every new session, Wt spawns a new process. > This has the main benefit of enjoying kernel-level memory protection > between user sessions.
I don't think that it is true for latest versions but it is quite bad design for scalability.
I certainly know that is not true when hosting on Windows, on *nix I believe it uses FastCGI. The user session data is only important for when the user *has* a session (logged in or so?), otherwise you are free to kill the session once served. The amount of data it holds is only your own design, can be as little or large as necessary. On Tue, Jun 1, 2010 at 12:04 AM, Artyom <artyomtnk@yahoo.com> wrote:
- Wt designed as GUI over HTTP/HTML replacement of Desktop application. It may be nice idea for embedded GUI systems or for highly interactive applications as let's say like Goodle Docs but it not good for content driven sites where content comes first and GUI widgets second.
As you can see on the main site, it handles static content fine, plus it can still pass through plain html (or theme it if you so wish). On Tue, Jun 1, 2010 at 12:04 AM, Artyom <artyomtnk@yahoo.com> wrote:
- Web development is far from begin close to GUI development. It has it's own ways to do stuff and trying simulate one with other doesn't do any good to both web and GUI development.
True, but it can handle a very Qt style or design (which I personally do not like, nor do I use it), or a very CSS centric style, or any mix. On Tue, Jun 1, 2010 at 12:04 AM, Artyom <artyomtnk@yahoo.com> wrote:
It is pure C++, what is probably all of ours favorite language,
To be honest.
I love C++, I'm the author of CppCMS and I would be really pleased if Boost web site was using CppCMS for C++ web development.
But I don't see advantage of C++ development for web unless:
- You have **very** high traffic web sites - You have very low resources (embedded systems).
See:
http://art-blog.no-ip.info/wikipp/en/page/rationale http://art-blog.no-ip.info/wikipp/en/page/when_to_use_cppcms
Oh not even, the main advantage of web design in C++ is its powerful capabilities and ability to abstract things away. Since I started using Wt I can get a site running faster then I ever could have with PHP or Python (PHP of which I dealt with for near ten years, know it quite well, and also how amazingly crappy it is). Everything is about libraries, not language, as any good programmer knows, and Wt is a truly excellent library. On Tue, Jun 1, 2010 at 12:04 AM, Artyom <artyomtnk@yahoo.com> wrote:
That cppcms might work as well, but it is a lot more low-level the whole way through.
The CppCMS is not "lower-level" C++ web framework. It is just traditional MVC web framework unlike Wt which is mix of GUI and Web.
CppCMS does almost anything that any other web framework does but it uses model familiar for any web developer - MVC.
What I meant by low level is that it has no higher level abstractions as Wt has, it is nothing but pure MVC, where Wt is more like Qt (which is MVS anyway, but like a GUI program, or you can use the lower-level capabilities if you so wished). CppCMS does *not* do near what Wt has, I tried it (I do prefer its license over Wt's), but it was not anywhere near as useful, not as complete. On Tue, Jun 1, 2010 at 12:04 AM, Artyom <artyomtnk@yahoo.com> wrote:
Bottom line: ------------
1. I would not recommend using C++ for Boost web site unless you want to do this as proof of concept.
Frameworks like Django, RoR or even existing CMS like Drupal would be much easier and faster to implement.
Giving good caching tools for this frameworks you'll also get quite good performance (finally Boost.org is not Wikipedia web site)
Wt is not a proof-of-concept, it is very well used out in the wild. And it is a framework like Django and so forth, it just is capable of even doing more then those, while still exposing any amount of power that you would require (unlike those listed, where you tend to run into limits very fast). Good caching is useful, no matter what you use. On Tue, Jun 1, 2010 at 12:04 AM, Artyom <artyomtnk@yahoo.com> wrote:
2. If you do think that having Boost's site written in C++ gives added value that I would recommend you using CppCMS as it is much more content oriented.
Example, CppCMS wiki: http://art-blog.no-ip.info/wikipp/en/page/main
Note if it responds slowly it is due to my crappy internet provider. not due to framework itself.
It is no where near as much content oriented in comparison. Wt basically has two 'controllers' that you can use, one is stateful, the other is stateless (as well as a third for just passing through static files). One major difference is that you do not need to write templates as in CppCMS (well, you could also write out raw html from CppCMS), since Wt lets you design it like a Gui app, you can create things *FAR* quicker (plus can still use CSS to lay them or, or use sizers, the main Wt site uses CSS, which they recommend, they only support desktop-like sizers for more Qt-oriented people, and the CSS can by dynamically generated, static, etc...). Plus Wt has allowances for all the main browsers so everything should look and act the same everywhere (something which requires using a lot of if's in a template). So on and so forth. I tried using CppCMS, but it just does not do anywhere near as much to smooth the workflow in comparison. On Tue, Jun 1, 2010 at 12:04 AM, Artyom <artyomtnk@yahoo.com> wrote:
Just my $0.02
Ditto, and a couple years of experience with Wt, and a decade with PHP, and a few months with CppCMS.