DWScript pre-Apocalypse news

Logo DWScriptWith the end of the world in a few days, it’s time to flush the what’s new log for DWScript.

There are two major items that will be discussed in future posts:

  • the JSON connector, which gives direct, JS-like access to JSON-based data objects
  • the Gabelou, which aims to become to DWScripot what StyleCop is to C#.

Also the old Indy-based webserver demo is being replaced by one based on Synopse high-performance http server classes.

(more…)

Introducing “unit namespace”

DWScript now has a new “unit namespace” feature, which aims at killing several birds with one stone:

  • supporting “classic” namespace as found in Java or .Net
  • supporting aggregate namespaces and conditional units
  • supporting unit deprecation and splitting with backward-compatibility

DWScript for Delphi XE3

DWScript (SVN version) should now compile under Delphi XE3, thanks to Steffen Binas for providing a workaround for a compiler bug (internal error URW1147).

The workaround will alas reduce performance, for a proper fix, a futureXE3 update will be required,see QC #109187.
While I’m at it, I might also raise awareness of another XE3 bug, QC #108942 (internal error G9413).

(on a side note, my XE3 trial expired, so any fixes or workarounds for XE3 will have to come from you guys)

Spotlight on dwsJSON

dwsJSON is a unit that supports JSON parsing/creating, it’s part of DWScript but relatively “standalone”, in that if you add it in your Delphi (or FPC) projects, it won’t pull the whole of DWScript library, and thus can be used anywhere you need.

The JSON parser in dwsJSON generates an object tree based on TdwsJSONValue (and its subclasses), you can also create such a tree from scratch and use it to spit out JSON. There is also a low-level JSON writer for fast, write-only streaming. All classes support full Unicode (in Delphi) as well as very long strings (like a base64 streamed image).

(more…)