The document discusses building HTML5 apps. It describes pure web apps that run in browsers and hybrid solutions delivered as native apps. It addresses common myths about HTML5 and covers supported platforms and libraries. It also discusses offline support using application cache and local storage, animation using CSS3 and Canvas, and advanced techniques like WebGL. The document concludes that web technologies are advancing rapidly and hybrid approaches can help migration, though tools still need improvements.
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