7. Common Myths
Slow Does not use GPU acceleration
Only works offline
Manual layout of apps
No GUI designer
Only JavaScript
Tedious to code
Can’t do fluid animation Not crossplatform
08/29/11
7
27. Which is for what?
CSS3 Canvas SVG WebGL
Animation of UI elements ✔
2-D visualization ✔ ✔
Imperative drawing ✔
2-D scene-graph ✔ ✔
3-D scene graph ✔
2-D game ✔ ✔ ✔
3-D game ✔
08/29/11
27
43. Exposing to the Web World
QWebFrame::addToJavaScriptWindowObject(QString, QObject*)
Public functions
Object properties
Child objects
08/29/11
43
44. Exposing to the Web World
page()->mainFrame()->addToJavaScriptWindowObject("Dialog", new Dialog);
class Dialog: public QObject
{
Q_OBJECT
public:
Dialog(QObject *parent = 0);
public slots:
void showMessage(const QString& msg);
};
08/29/11
44
45. Exposing to the Web World
<input type="button" value="Try this"
onClick="Dialog.showMessage('You clicked me!')">
instance of
Dialog object public slot
08/29/11
45
46. Signal and Slot
signal
foobar.modified.connect(refresh);
QObject instance JavaScript function
foobar.modified.connect(obj, refresh);
any object
08/29/11
46
61. Conclusions
Web technologies are moving really fast
Various frameworks and libraries boost the productivity
Hybrid approach helps the migration
Tools need to catch-up
08/29/11
61