To webkit or not to webkit

61 views
Skip to first unread message

Wil Alvarez

unread,
Oct 11, 2012, 8:39:40 AM10/11/12
to turpi...@googlegroups.com
That is the question.

I've been working quite lot with the Webkit implementation and all the stuffs about Python + Javascript integration and my thoughts today are... all that crap sucks!

Please, keep calm and let me explain myself better.

What we've been doing with Python and Webkit it's kind of innovator, there are no much background about it. The closest projects that did something similar were Gwibber and Hotot. Gwibber dropped Webkit in favor of Gtk3 + Vala (arguing performance issues) and Hotot is an entire web application (everything is done with Javascript) and that lets the Python integration in a really low (and easy) level, just needing a PyGtk/PyQt/Chrome/Whatever container and that's it.

I said months ago that we want to follow that path, my idea is that Turpial 3 be a web application (entirely in JS) inside a HTML container. That will let us port Turpial to almost any platform/device but it will take too long, first we should port libturpial to JS and then port all the UI stuff to JS + HTML5. Is a titanic work and I think that our community deserves a new release.

So, I tried to make an hybrid application, Python + HTML + JS (Turpial 2.0), in order to offer a close view of what we can offer with the power of HTML but as I said before, this is a new approach (at least the way we are doing it) and there are lots of unknown/undocumented issues and limitations. Right now this 'experiment' is facing big obstacles and one of them is the Python + Javascript integration. Currently I couldn't reach a high modularity or stability on this integration, this is causing that for any change (even a little one) we need to redesign or rethink the whole app structure. That's annoying and frustrating.

The best solution: develop a framework that let us build *anything* on top of this integration (Python + Javascript). But same reason that above, this requires lots of time and research and it was on my plans but far in the future, maybe for Turpial maybe not. We still should handle the fact that we have no guarantees that it will works.

So, I've decided make the last turn on this ship and back to one of my original ideas (back to 2009 ~ 2010), develop almost everything with native toolkits but the widgets to render tweets/columns. This is the way to build a more robust application and keep the good parts of Webkit for displaying tweets (the bigest lack of Gtk, for example). I've analyzed a lot before taking this decision and I'm pretty sure that is the best for the project right now, development will be smooth and we'll have a new release sooner.

I'll be doing this changes from now and I'll try to do it as fast as I can.

Suggestions and collaboration welcome. Thanks for your support and understanding.

Best Regards and long live to Turpial :)

--
“Yo construyo Soberanía, uso Software Libre”
Wil A. Alvarez
Linux Counter #415026
Debian Counter #259

Francisco Palm

unread,
Oct 11, 2012, 11:26:48 AM10/11/12
to turpi...@googlegroups.com

¿Es imperativo participar en inglés? ¿Cuál es la proporción de angloparlantes en esta lista?

Después de intentar escribir en inglés en el curso de literatura de fantasía y ciencia ficción de Coursera mi confianza en ese apartado ha disminuido :-D

En fin, el componente qtwebkit de Qt usado a través de Python, ya sea PyQt o PySide es una alternativa bastante buena, el componente mapea los objetos javascript a Python y vicerversa. Puede ser una opción a considerar.

Saludos

F. Palm
--
--------------------------------------
fp...@mapologo.org.ve
francis...@gmail.com

cel: +58 +424 7228252
tel: +58 +274 6352001

----
Debemos ser libres, no para hacer lo que nos plazca, sino libres para comprender muy profundamente nuestros propios instintos e impulsos. K

Andrea Stagi

unread,
Oct 11, 2012, 11:30:03 AM10/11/12
to turpi...@googlegroups.com
English is the default language in every open source project... Wil I
just told you my idea, go for native graphics ;) is the lightest and
easiest solution ....
--
=.4ndrea.Stagi.=

Carlos Guerrero

unread,
Oct 11, 2012, 11:45:29 AM10/11/12
to turpi...@googlegroups.com
This will be, 2.5 ? to make difference from all the previous 2.0 effords ? 



--
Atte:
Carlos A. Guerrero M.
http://www.carlosguerrero.com

Wil Alvarez

unread,
Oct 11, 2012, 2:45:06 PM10/11/12
to turpi...@googlegroups.com
Francisco,

2012/10/11 Francisco Palm <francis...@gmail.com>


¿Es imperativo participar en inglés? ¿Cuál es la proporción de angloparlantes en esta lista?

First of all, glad to see you around. Many of us don't speak english as mother language, but either spanish. So english becomes like the neutral language ;)
 
Después de intentar escribir en inglés en el curso de literatura de fantasía y ciencia ficción de Coursera mi confianza en ese apartado ha disminuido :-D

Don't worry, we are not grammar nazis. We do it the best we can.
 
En fin, el componente qtwebkit de Qt usado a través de Python, ya sea PyQt o PySide es una alternativa bastante buena, el componente mapea los objetos javascript a Python y vicerversa. Puede ser una opción a considerar.

I've heard about it, but don't you think that it would limit our interfaces just to Qt? Actually, I did consider switching to Qt as main toolkit but don't know what kind of consequences would bring that to the project. I appreciate any suggestions

Saludos

F. Palm

Best Regards

Wil Alvarez

unread,
Oct 11, 2012, 2:47:42 PM10/11/12
to turpi...@googlegroups.com
2012/10/11 Carlos Guerrero <guerrer...@gmail.com>

This will be, 2.5 ? to make difference from all the previous 2.0 effords ? 


Carlos,

I don't think so. We are just shifting to a new direction, besides we haven't done any final or stable release. We are still in "heavy" development ;)

Wil Alvarez

unread,
Oct 11, 2012, 2:50:03 PM10/11/12
to turpi...@googlegroups.com
2012/10/11 Andrea Stagi <stagi....@gmail.com>
English is the default language in every open source project... Wil I
just told you my idea, go for native graphics ;) is the lightest and
easiest solution ....
 
Yep. And the fastest ;)

But now that Francisco told about PyQt I wonder: Will it worth to switch to PyQt (and stay there) or should we go for native interfaces on several toolkits (Gtk3, PyQt, PyObjC, etc) ?

Efrain Valles

unread,
Oct 11, 2012, 3:06:13 PM10/11/12
to turpi...@googlegroups.com
IMHO, you should stick with what works for you. Native toolkits are all fine and all but we must make sure we have the hands to commit to developing. We barely have GTK developers.

For Ubuntu, if you write it in Qt or GTK it is all fine since Unity uses both toolkits at any given moment. Now for other platforms we should have more developers on board for attacking through a native toolkit approach.

Kudos and let the ball keep rolling


On 10/11/2012 02:20 PM, Wil Alvarez wrote:
2012/10/11 Andrea Stagi <stagi....@gmail.com>
English is the default language in every open source project... Wil I
just told you my idea, go for native graphics ;) is the lightest and
easiest solution ....
�
Yep. And the fastest ;)

But now that Francisco told about PyQt I wonder: Will it worth to switch to PyQt (and stay there) or should we go for native interfaces on several toolkits (Gtk3, PyQt, PyObjC, etc) ?

--
�Yo construyo Soberan�a, uso Software Libre�

William Cabrera

unread,
Oct 11, 2012, 3:32:31 PM10/11/12
to turpi...@googlegroups.com
Have you consider Cairo? Is more complex but I think it looks better

------
William Cabrera
http://willicab.gnu.org.ve



2012/10/11 Wil Alvarez <wil.al...@gmail.com>

Wil Alvarez

unread,
Oct 11, 2012, 7:14:06 PM10/11/12
to turpi...@googlegroups.com
2012/10/11 William Cabrera <cabrera...@gmail.com>
Have you consider Cairo? Is more complex but I think it looks better

William,

I studied Cairo and Clutter but they are like a canvas, I mean, they just provide you a surface to draw shapes, to paint; there is no such a concept like "widgets". You  have to build everything from scratch (textboxes, comboboxes, etc) and that's A LOT of work. I could use Cairo for making some special widgets, like progress indicators or maybe fancy buttons/labels, but for render tweets would be a real pain.
Reply all
Reply to author
Forward
0 new messages