Boost logo

Boost :

Subject: Re: [boost] [Boost-docs] Maintaining boost.org
From: OvermindDL1 (overminddl1_at_[hidden])
Date: 2010-06-02 02:10:39


On Tue, Jun 1, 2010 at 12:04 AM, Artyom <artyomtnk_at_[hidden]> wrote:
>
>> >> Could always create such a site using Wt[0] or so
>> in pure C++/Boost
>> >>
>> >> [0] http://www.webtoolkit.eu/wt
>> >
>> > 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_at_[hidden]> 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_at_[hidden]> 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_at_[hidden]> 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_at_[hidden]> 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_at_[hidden]> 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_at_[hidden]> 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_at_[hidden]> 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk