By Kent Hansen

Faking a web browser environment in QtScript

Published Friday March 4th, 2011 | 10 Comments on Faking a web browser environment in QtScript
Posted in Internet, Qt, Qt Script

The following question was recently asked on qt-interest: How can I evaluate [some arbitrary] JavaScript code (that’s included in a web page, say), using QtScript? It’s an interesting topic, and I can’t resist elaborating. Short answer: You can’t. Long answer: It depends on what the script does — more precisely, which JavaScript APIs the script […]

Read More

Qt people, our JavaScript platform is burning rubber

Published Thursday February 24th, 2011 | 31 Comments on Qt people, our JavaScript platform is burning rubber
Posted in Labs, Qt, Qt Script

We’re actively researching Google’s V8 JavaScript engine for use in Qt. For legal reasons, we had to take our work underground where it doesn’t belong. But now we’re back: For the moment, this is a full Qt clone. You can find more information about this project in the QtScript wiki. We’ve also created a […]

Read More

Resolving QtScript's "Legacy" APIs

Published Thursday January 20th, 2011 | 2 Comments on Resolving QtScript's "Legacy" APIs
Posted in Qt, Qt Script

We want Qt to have the best possible JavaScript technology. To make this happen, we need the ability to make drastic changes to the implementation — even replacing it — underneath our public APIs. If an API exposes implementation details, that will cause us to limp. From our extensive work with existing JavaScript engines (JavaScriptCore […]

Read More

ECMAScript 5 and WebKit/JavaScriptCore

Published Friday January 15th, 2010 | 4 Comments on ECMAScript 5 and WebKit/JavaScriptCore
Posted in WebKit

Today it’s exactly one month since the press release stating that ECMA-262 5th edition (ES5) has been approved. (Yeah, that’s just a random coincidence.) What’s changed since the 3rd edition? Quoting the spec itself (actually, it’s only the “Final final final final draft” according to the PDF document title ๐Ÿ™‚ ): The [fifth edition of […]

Read More

QtScript in 4.6

Published Monday November 23rd, 2009 | 21 Comments on QtScript in 4.6
Posted in Qt, Qt Script

As previously described (1, 2), Qt 4.6’s QtScript implementation is based on WebKit’s JavaScript engine, JavaScriptCore (you might’ve also heard it being referred to as “SquirrelFish” or “SquirrelFish Extreme”). This blog is an attempt to highlight the major implications of this “under-the-hood” change. Looking for bars in all the right places So, is QtScript any […]

Read More

DevDays Intermezzo: State of The Machine Address

Published Monday October 19th, 2009 | 13 Comments on DevDays Intermezzo: State of The Machine Address
Posted in Qt, SCXML

I had the pleasure of talking to some fellow state machine enthusiasts at DevDays in Munich. Here are some of the topics that were brought up, in randomized order: Verification. How can you check that your state machine is sane, or rather, how can you disprove that it’s criminally insane? Currently there isn’t a way […]

Read More

QStateMachine’s a state, too

Published Thursday July 23rd, 2009 | 10 Comments on QStateMachine’s a state, too
Posted in Qt

Did a nifty change in QStateMachine yesterday: QStateMachine now inherits QState. QStateMachine::rootState() is gone; the state machine now is the root state. This allowed us to remove a fair amount of code and API from QStateMachine; most importantly, it makes application code nicer, as you can do new QState(machine) to create a top-level state, instead […]

Read More

Progress on the JavaScriptCore-based Back-end for QtScript

Published Tuesday July 14th, 2009 | 3 Comments on Progress on the JavaScriptCore-based Back-end for QtScript
Posted in Labs, Qt, Qt Script

As described in a previous blog entry, the day-to-day work on the JSC-based back-end for QtScript mainly revolves around getting lots of tiny (TINY!) tests to pass, ensuring that the observed behavior of the C++ API and JS runtime is still compatible. Well, things are starting to add up: The Qt bindings produced by the […]

Read More
Get started today with Qt Download now