Subject: Re: The future of gitweb - part 2: JavaScript

From: Jakub Narebski <[email-masked]>
Date: Sun, 17 Apr 2011 16:59:01 +0200

On Sat, 16 Apr 2011, Pau Garcia i Quiles wrote:
> On Thu, Apr 14, 2011 at 11:54 AM, Jakub Narebski <[email-masked]> wrote:
> >
> > This is second installment, talking about JavaScript (client-side)
> > part of gitweb code.
> > [...]
> > Those issues are already solved in __JavaScript libraries__ and
> > frameworks, probably better way than in our attempt.  Using JavaScript
> > framework would also give as higher level constructs, and could
> > replace what we have and could have in gitweb/static/js/lib:

> My suggestion is going to be tremendously unpopular, but still: if I
> were to develop my own gitweb, I'd use Wt ( http://webtoolkit.eu ) +
> libgit2. In fact, there is a very basic gitweb-like example bundled
> with Wt sources, it's available online at
> http://www.webtoolkit.eu/wt/examples/git

Well, nothing prevents you or anybody else from writing (yet another)
web interface in C++ + Wt + libgit2.  Gitweb is not the only git web
interface:
  https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools#Web_Interfaces
 
There is Gitalist in Perl which uses Catalyst MVC framework, cgit in
C linking directly to git (libgit.a), git-php and ViewGit in PHP, etc.

> All those detect if this feature is available or not, fallback to
> plain HTML (no Javascript, no AJAX), use HTML5, or SVG, or... where
> available are already solved (and are totally automatical) in Wt. It's
> C++ with Boost and Qt-like API, not plain C, Perl or bash scripting,
> though.

Gitweb has the advantage that if you can install git, and you have web
server with CGI support, you can install and run gitweb.  First part
of series was about relaxing this "no non-core dependencies required"
requirement.  Requiring to install C++ / libstdc++, Boost and Wt...

Note that git chosen to write strbuf and parseopt from scratch,
instead of using some existing library (bstrings, Boost, popt,...).

So, as yet another web interface, fine.  As replacement for gitweb:
I don't think so.

BTW. do I understand correctly that Wt generates JavaScript code, in
similar vein to GWT for Java, or Pyjamas for Python?

-- 
Jakub Narebski
Poland