CRUD

From APIDesign

(Difference between revisions)
Jump to: navigation, search
(Clients)
Current revision (08:06, 17 September 2014) (edit) (undo)
 
(8 intermediate revisions not shown.)
Line 1: Line 1:
When showing the usefulness of [[DukeScript]] some people believe it is best demonstrated on games like [[MineSweeper]]. Other group recommends to show [[wikipedia:Create,_read,_update_and_delete|CRUD]] - as a typical business oriented application.
When showing the usefulness of [[DukeScript]] some people believe it is best demonstrated on games like [[MineSweeper]]. Other group recommends to show [[wikipedia:Create,_read,_update_and_delete|CRUD]] - as a typical business oriented application.
-
It is my pleasure to announce a sample [[DukeScript]] [[CRUD]] being (almost) ready (almost, because it depends on a snapshot version of [[Jersey]], but that should not stop you trying it).
+
It is my pleasure to announce a sample [[DukeScript]] [[CRUD]] and [[Jersey]] wizard being ready. Watch, follow, use and enjoy something that [[I]] like to call [[JerseyFaces]]:
-
== [[CRUD]] for [[Java]], [[iOS]], [[Android]] and any [[Bck2Brwsr|browser]] ==
+
{{#ev:youtube|WYhshaXMAKM}}
-
First of all the basic setup:
+
The ultimate goal is to deploy the application everywhere while making it look more or less the same. Following picture shows how close [[DukeScript]] is to such goal
-
<source lang="bash">
+
[[Image:CrudDemoEverywhere.jpg|800x600px]]
-
$ git clone https://github.com/jtulach/jersey.git
+
-
$ cd jersey/
+
-
$ git checkout d6e0bf4c98a0b229aa3c2b14cea73031b78ee59f
+
-
$ cd examples/jerseyfaces/
+
-
$ mvn clean install
+
-
</source>
+
-
=== [[REST]] Server ===
+
The [[CRUD]] archetype was used to create new application which was deployed to [[iPad]], [[Android]] phone, [[Safari]] browser, running in a [[JavaFX]] webview (being debugged from [[NetBeans]]) and also in an [[iOS]] simulator.
-
Now you should open '''server''' project in [[NetBeans]] IDE and start it or debug it. Alternatively you can stick with command line [[Maven]] and try:
+
{{:JerseyFaces}}
-
<source lang="bash">
+
[[Category:Video]]
-
$ cd server
+
-
$ mvn exec:java
+
-
INFO: Started listener bound to [localhost:8080]
+
-
Press Enter to shutdown the server
+
-
</source>
+
-
 
+
-
the server gets started on given port, which you may inspect in your browser. The resource name is ''contacts'', e.g. the URL is http://localhost:8080/contacts - keep server process running.
+
-
 
+
-
=== Clients ===
+
-
 
+
-
However that is not the important part. More interesting is to see the variety of clients that we have. Open the '''client''' project in [[NetBeans]] IDE and either run or debug it - you get desktop client (plus a tooling support in [[NetBeans]]). Alternatively stick with [[Maven]] to see the client as well (without any tooling):
+
-
 
+
-
<source lang="bash">
+
-
$ cd client
+
-
$ mvn exec:java
+
-
</source>
+
-
 
+
-
If you reproduced my steps properly, you will see record with information about [[I|me]] which you can modify, delete or create your own ones.
+
-
 
+
-
Let's try another client. From the client project's popup menu choose '''Custom/Run in a Browser''' and you'll get client which looks the same running in your browser. Again, this can be done from command line:
+
-
 
+
-
<source lang="bash">
+
-
$ mvn -Pbck2brwsr clean package bck2brwsr:show -Dbck2brwsr.obfuscationlevel=NONE
+
-
</source>
+
-
 
+
-
Of course, there are other clients (hint [[iOS]], [[Android]]) in the '''Custom''' menu, but I think, the point has been made. Try it and let me know if something is broken. I'd like to turn this into a [[Maven]] archetype, so a bit of testing is going to be useful.
+
-
 
+
-
<comments/>
+

Current revision

When showing the usefulness of DukeScript some people believe it is best demonstrated on games like MineSweeper. Other group recommends to show CRUD - as a typical business oriented application.

It is my pleasure to announce a sample DukeScript CRUD and Jersey wizard being ready. Watch, follow, use and enjoy something that I like to call JerseyFaces:

The ultimate goal is to deploy the application everywhere while making it look more or less the same. Following picture shows how close DukeScript is to such goal

The CRUD archetype was used to create new application which was deployed to iPad, Android phone, Safari browser, running in a JavaFX webview (being debugged from NetBeans) and also in an iOS simulator.

JerseyFaces Announcement

To be delivered approximately in May 2015, but quite available even now! See CRUD video and tutorial.

NetBeans and Jersey teams and are proud to announce the immediate availability of JerseyFaces - revolutionary, industry standards incorporating, HTML and Java based application development technology.

JerseyFaces technology extends the award winning, lightweight Jersey server side framework with rich client components in a way that blurs the difference between server and client side. Application code is written once and smoothly executed on server as well as client side on any modern browser without requiring installation of additional browser plugins.

The presentation technology uses the most recent enhancements made in the area or HTML and CSS as exposed by industry favorite UI toolkits like knockout.js or angular.js. However, rather than forcing end users to use of JavaScript the JerseyFaces Studio abstracts such low level details away and guides developers to create portable Java code suitable for execution on wide range of modern browsers and devices (like iOS or Android).

The "behind the scene" use of classical, widely used JavaScript frameworks hides differences between various browsers and their versions and ensures high portability of generated applications. In addition to that the JerseyFaces comes with extensive testing environment that verifies application consistency on all supported configurations. Incorporating such validation into development workflow guarantees early feedback on quality and portability of any JerseyFaces-based application.

The tooling, as provided by JerseyFaces Studio, focuses on getting the best from the synergy between HTML and Java worlds. No more runtime errors due to typos, no need to execute your application in browser to find out it does not work at all! With Java strong type system and advanced HTML validation tools most of the errors are captured during compilation or even during editing, extremely boosting developer productivity. And when things go wrong, there is an easy way to launch a debugger on any target device and obtain the most gory details of such misbehavior as possible.

Remote data from a database on the server are transparently mirrored and made available on the client side while being transferred securely, optimally and buffered in case of loss of the client/server connection. The JerseyFaces framework helps everyone concentrate on the application logic without worrying how data are transmitted and whether application code is executed immediately on the client or as close as possible to the server and its database.

The JerseyFaces programming model will be loved by Java shops having existing investments in Java, trying to expand to rich client application areas, while being afraid that usage of mixed development languages environment, especially one including scripting languages, may significantly decrease stability and long term quality of their products. However the strong, safe and flexible programming model of Jersey Faces is sure to attract attention of everyone who develops applications that last. JerseyFaces framework minimizes Cost of Ownership for everyone using it.

The Jersey and NetBeans teams are thankful for your attention. Please, go on and give JerseyFaces a try - you won't be sorry: continue with CRUD video.

Personal tools
buy