JVx 2.8.5 is out and we have some Source Code statistics for you!
Our last statistics were determined for JVx 2.2. The source code grew by 50.012 lines, since 2.2. We now have 178.896 (JVx library, Swing UI, tests) compared to 128.884 in JVx 2.2. Still awesome if we compare the features of JVx with any other application framework!
Here are the actual numbers for you:
|
JVx library |
|
Swing UI |
|
LoC |
|
Type |
107.951 |
|
Code |
86.032 |
|
Comments (~ 44% of Code) |
28.282 |
|
Empty lines |
222.265 |
|
Total |
|
|
LoC |
|
Type |
41.544 |
|
Code |
22.321 |
|
Comments (~ 35% of Code) |
9.249 |
|
Empty lines |
73.114 |
|
Total |
|
|
JVx library (Test cases) |
|
|
|
LoC |
|
Type |
29.401 |
|
Code |
14.620 |
|
Comments (~ 33% of Code) |
9.649 |
|
Empty lines |
53.670 |
|
Total |
|
|
|
|
Some additional numbers:
|
Files and Tests |
|
JVx library source files |
|
825 |
Swing UI source files |
|
148 |
Test source files |
|
151 |
Total |
|
1124 |
|
|
Still a small codebase and still very easy to maintain. Here are more numbers, about testing: |
|
Unit tests (no UI, without manual perf. tests)
| |
|
1000 |
Class coverage (without UI)
| |
|
73% |
Method coverage (without UI)
| |
|
62% |
|
|
Our coverage is not as good as with 2.2 but still not bad. |
|
TOP 10 classes
Classname |
|
LoC |
DBAccess |
|
5.775 |
MemDataBook |
|
4.712 |
JVxTable |
|
2.704 |
ArrayUtil |
|
2.613 |
DBStorage |
|
2.237 |
StringUtil |
|
2.230 |
Server |
|
2.058 |
SimpleJavaSource |
|
1.583 |
PostgreSQLDBAccess |
|
1.495 |
DateUtil |
|
1.468 |
This are interesting numbers because in JVx 2.2, MemDataBook was on 1st place. We now have more code for database support than before. The newcomers are SimpleJavaSource and PostgreSQLDBAccess.
We tried to reduce complexity of DBAccess and MemDataBook, but complex things are complex. This is why we develop JVx. It makes complex things, simple.
VisionX 2.4 was released yesterday! It's the biggest update since 1.5. We've spent more time for developing and testing than ever before. The new version has power under the hood. It contains everything which is needed to customize VisionX for your needs. It's possible to create your own VisionX. We have a great set of AddOns which will improve the quality of your applications and some very useful new Features.
What's new?
- HTML5 Live Reload
It's now possible to update the application in the browser automatically after design changes. The live preview wizard got a new option for this feature:
Live reload option
- One-click HTML5 live preview
The application menu got a new icon. A single click is enough to show the application in the web browser.
One-click live preview
- VisionX Menu
The VisionX menu in the application has two new items:
VisionX application menu
The modules screen is a complete new feature and the Live preview is now available without leaving the application.
- Module management
It's now possible to manage application modules. Simply install a module from the solution store or create your own re-usable application modules. The installation is super easy with our new modules screen:
Super easy module installation
- Data Links
The Designer got a new group with the name Data Links:
Data Links
All elements in the Data Links group depend on data and will update the shown value automatically on data changes.
- The Label Control will show the current value of a specific column, as Label instead of an Editor.
- The Selection Button will show a popup with possible values for a specific column.
- The Filter Control requires the Profiles AddOn and allows an application user to apply and save custom filter settings, e.g. filter custom columns
Application frame automatically saves the last position and your application will be shown at the same position after a restart.
The Profiles AddOn makes it possible to save also the frames within the application. Your users will love it because they can save their own desktop and continue the work after an application start.
Remove HTML5
It's possible to create smaller application bundles if you remove the HTML5 feature from the bundle, via Deployment Wizard:
Remove HTML5
Customize screen generators
It's super easy to use your own screen generators:
Custom screen generators
Multiple storages with same database table
It's now possible to add multiple storages for the same database table. This was a limitation in earlier versions of VisionX.
All customers will find the new version in their download area!
Merry X-mas
We have a little present for you. It's a connector for Dropbox.
The source code is available here.
It's a full IStorage implementation and allows CRUD operations to your Dropbox account. We use it for sharing dynamicly created reports and as document archive. It's very useful because your application doesn't need a mobile client to exchange data with the backend.
If your secretary creates the management report (Word, Excel or Pdf), simply modify or read it via Dropbox. It's really simple because Word and Excel are available for mobile devices. Both tools have a built-in Dropbox support and thus makes it easy to access files.
How to use the storage?
Currently, we don't have a pre-compiled lib, but simply clone the repository and use the ANT build to create your own lib.
It's simple to integrate the storage in your application:
public DropboxStorage getFiles
() throws Exception
{
DropboxStorage storage
= (DropboxStorage
)get
("files");
if (storage == null)
{
storage = new DropboxStorage();
storage.setAccessToken(SessionContext.getCurrentSessionConfig().
getProperty("/application/dropbox/accessToken"));
storage.setFileType(FileType.All);
//use "flat" style
storage.setRecursive(true);
storage.open();
put("files", storage);
}
return storage;
}
Before the storage will work, prepare your dropbox account to get an access token. It's not tricky and everything is documented.
There are some examples available as JUnit tests.
A simple Dropbox screen could look like this one:
Dropbox access with JVx
Auch auf einem Entwicklungsrechner gehen irgendwann die Ressourcen zu Ende. Einem aufmerksamen Browser wie Chrome, entgeht das natürlich nicht
Die Entwickler dürften dabei sichtlich Spaß gehabt haben.
Chrome fun