Or in other words, Delphi Web Script 2.2 has been branched!
“Rich. Small. Fast. Reliable. Choose any Four”
With v2.2, DWScript is now aiming for that motto*, and this new release represents a major step forward from 2.1 in terms of language features and robustness.
DWScript 2.2.0 (348 kB)
Here is a quick summary of additions to the language:
- build systems and units
- dynamic arrays
- records with methods
- universal delegates/functions pointers
- operator overloading
- class visibility scopes
- contracts programming
- class constants
- “implies” operator
- extensions to “in” / ” not in” operators
- “new” keyword for object instantiation
- $include_once
- static classes
- direct method implementation (inline in class body)
- constant records, constant arrays
- improved compiler errors, warnings and hints
- stack traces in exceptions
- misc. new language improvements and RTL functions
and there are new support tools:
- JavaScript code generation
- SynEdit highlighter for DWS
- debugger component
- profiler component
- RTTI exposure classes
- much improved unit tests coverage up to 90% overall, 93% to 100% for core units
as well as dozens of samples, which can be found at Rosetta Code or in the unit tests. Feel free to show your support DWScript by clicking on the “donate” button to the right 😉
Many things are already cooking up for 2.3, some of these are already present in the SVN…
*: yes “aiming”, and yes, it’s inspired from SQLite, we’re not there yet, but we may as well aim high!
Thanks for this update and your efforts.
We are currently upgrading a desktop software. In this I would like to add scripting to it. I would like to know if it is possible to use DWS with some modifications in desktop app?
Thanks,
Yogi Yang
@Yogi Yang
DWScript can be used for desktop apps too, and AFAICT that could be what’s it’s currently most used with.
You can expose classes manually (for more controlled encapsulation) or through RTTI, f.i. through the RTTI connector
http://delphitools.info/2011/10/03/tdwsrtticonnector-read-anything-write-anything/
@Eric
Thanks for the pointer. I will look into it.
Btw are there any samples showing this?
@Yogi Yang
Most everything should have a unit test, but there aren’t many elaborated demos at the moment. Though it would depend on what you seek by desktop apps, in our company, that’s mostly to perform custom actions and data manipulations, compile custom reports, perform custom data inputs, etc.
For old DWSII there were same usage cases where DWS was used for mesh manipulations, AI, scenario scripting or template generation. I don’t know which are still “live” though, but technically speaking, there is nothing truly web-specific in DWS.