JaroslavTulach: /* Write Business Logic, Choose UI later */ - 2016-05-09 08:53:07

Write Business Logic, Choose UI later

←Older revision Revision as of 08:53, 9 May 2016
Line 27: Line 27:
As an implication you can focus on your code, provide draft version of UI, and later, completely throw the UI away and redesign it in a much better way. Chances are high you will not touch your application code at all!
As an implication you can focus on your code, provide draft version of UI, and later, completely throw the UI away and redesign it in a much better way. Chances are high you will not touch your application code at all!
-
Moreover you can completely change the UI technology. Start with classical [[Html4Java]] solution and later switch to [[ControlsJS]] - given the [http://controlsjs.com/tools/ rich set of tools] [[ControlsJS]] offer including [[wikipedia:WYSIWYG|WYSIWYG]] form editor, it may really make your UI design experience smooth and even boost your productivity.
+
Moreover you can completely change the UI technology. Start with classical [[DukeScript]] solution and later switch to [[ControlsJS]] - given the [http://controlsjs.com/tools/ rich set of tools] [[ControlsJS]] offer including [[wikipedia:WYSIWYG|WYSIWYG]] form editor, it may really make your UI design experience smooth and even boost your productivity.

JaroslavTulach: /* Write Business Logic, Choose UI later */ - 2016-05-09 08:52:47

Write Business Logic, Choose UI later

←Older revision Revision as of 08:52, 9 May 2016
Line 25: Line 25:
Such extreme portability of [[DukeScript]] application is made possible by flexible design of [http://bits.netbeans.org/html+java/1.3/net/java/html/json/Model.html the core annotations] and absolute separation of the application logic code from the UI.
Such extreme portability of [[DukeScript]] application is made possible by flexible design of [http://bits.netbeans.org/html+java/1.3/net/java/html/json/Model.html the core annotations] and absolute separation of the application logic code from the UI.
-
As an implication you can focus on your code, provide draft version of UI, and later, completely throw the UI away and redesign it in a much better way. Changes are high you will not touch your application code at all!
+
As an implication you can focus on your code, provide draft version of UI, and later, completely throw the UI away and redesign it in a much better way. Chances are high you will not touch your application code at all!
Moreover you can completely change the UI technology. Start with classical [[Html4Java]] solution and later switch to [[ControlsJS]] - given the [http://controlsjs.com/tools/ rich set of tools] [[ControlsJS]] offer including [[wikipedia:WYSIWYG|WYSIWYG]] form editor, it may really make your UI design experience smooth and even boost your productivity.
Moreover you can completely change the UI technology. Start with classical [[Html4Java]] solution and later switch to [[ControlsJS]] - given the [http://controlsjs.com/tools/ rich set of tools] [[ControlsJS]] offer including [[wikipedia:WYSIWYG|WYSIWYG]] form editor, it may really make your UI design experience smooth and even boost your productivity.

JaroslavTulach: /* Porting MineSweeper */ - 2016-05-09 03:47:13

Porting MineSweeper

←Older revision Revision as of 03:47, 9 May 2016
Line 14: Line 14:
Thanks a lot for providing my [[MineSweeper]] to [[iOS]] users, dear [[ControlsJS]] guys!
Thanks a lot for providing my [[MineSweeper]] to [[iOS]] users, dear [[ControlsJS]] guys!
 +
 +
[[Image:MineSweeperControls.jpeg]]
== Write Business Logic, Choose UI later ==
== Write Business Logic, Choose UI later ==

JaroslavTulach: /* Porting MineSweeper */ - 2016-05-09 03:38:08

Porting MineSweeper

←Older revision Revision as of 03:38, 9 May 2016
Line 3: Line 3:
== Porting [[MineSweeper]] ==
== Porting [[MineSweeper]] ==
-
Since [[I]] [[AppStoreTheEnd|gave up on Apple]] and decided [[I]] don't want to pay that company money for nothing, [[I]] was searching for somebody who would distribute my [[MineSweeper]] application on [[iOS]]. At the end, the [[ControlsJS]] guys agreed to do it, but only if the application starts using [[ControlsJS]]. As a result of this experiment we now have two completely different UI, for the same application code:
+
Since [[I]] [[AppStoreTheEnd|gave up on Apple]] and decided [[I]] don't want to pay that company money for nothing, [[I]] was searching for somebody who would distribute my [[MineSweeper]] application on [[iOS]]. At the end, the [[ControlsJS]] guys agreed to do it, but only if the application starts using [[ControlsJS]]. As a result of this experiment we now have two completely different UIs for the same application code:
* http://controlsjs.com/demos/minesweeper/ - the new [[ControlsJS|Controls]] for [[Java]] version
* http://controlsjs.com/demos/minesweeper/ - the new [[ControlsJS|Controls]] for [[Java]] version

JaroslavTulach at 03:37, 9 May 2016 - 2016-05-09 03:37:33

←Older revision Revision as of 03:37, 9 May 2016
Line 1: Line 1:
-
[http://controlsjs.com/ ControlsJS] is a robust widgets technology for any browser including the most archaic versions of IE. It comes with fantastic tooling - browser based form editor, extensions for [[NetBeans]] and many more. The company behind [[ControlsJS] is mostly [[JavaScript]] oriented, but they are also great [[DukeScript]] supporters. As such there is also a [[Java]] version of [[ControlsJS|controls]].
+
[http://controlsjs.com/ ControlsJS] is a robust widgets technology for any browser including the most archaic versions of IE. It comes with fantastic tooling - browser based form editor, extensions for [[NetBeans]] and many more. The company behind [[ControlsJS]] is mostly [[JavaScript]] oriented, but they are also great [[DukeScript]] supporters. As such there is also a [[Java]] version of [[ControlsJS|controls]].
== Porting [[MineSweeper]] ==
== Porting [[MineSweeper]] ==

JaroslavTulach: /* Write Business Logic, Choose UI later */ - 2016-05-09 03:34:18

Write Business Logic, Choose UI later

←Older revision Revision as of 03:34, 9 May 2016
Line 25: Line 25:
As an implication you can focus on your code, provide draft version of UI, and later, completely throw the UI away and redesign it in a much better way. Changes are high you will not touch your application code at all!
As an implication you can focus on your code, provide draft version of UI, and later, completely throw the UI away and redesign it in a much better way. Changes are high you will not touch your application code at all!
-
Moreover you can completely change the UI technology. Start with classical [[HTML4Java]] solution and later switch to [[ControlsJS]] - given the rich set of tools they offer including [[Wysiwig]] form editor, it may really boost your productivity.
+
Moreover you can completely change the UI technology. Start with classical [[Html4Java]] solution and later switch to [[ControlsJS]] - given the [http://controlsjs.com/tools/ rich set of tools] [[ControlsJS]] offer including [[wikipedia:WYSIWYG|WYSIWYG]] form editor, it may really make your UI design experience smooth and even boost your productivity.

JaroslavTulach: /* Write Business Logic, Choose UI later */ - 2016-05-09 03:31:49

Write Business Logic, Choose UI later

←Older revision Revision as of 03:31, 9 May 2016
Line 17: Line 17:
== Write Business Logic, Choose UI later ==
== Write Business Logic, Choose UI later ==
-
The code for the [[ControlsJS|Controls]] [[MineSweeper]] is available on github: https://github.com/controlsjs/minesweeper - while inspecting the code changes [[I]] noticed that the core application logic in [https://github.com/controlsjs/minesweeper/blob/55549f4a68019706a80406c79f6af270f11410da/client/src/main/java/com/controlsjs/demo/minesweeper/MinesModel.java MinesModel.java] hasn't changed at all (almost - it doesn't make sense to count one [https://github.com/controlsjs/minesweeper/commit/55549f4a68019706a80406c79f6af270f11410da?diff=long#diff-59bc0db8375ee7490ee96e4fe102033c additional property] and removed ''goto links'' handling due to simplified UI).
+
The code for the [[ControlsJS|Controls]] [[MineSweeper]] is available on github: https://github.com/controlsjs/minesweeper. [[I]] was curious to see what code changes were necessary to completely switch from one rendering technogy to another.
 +
 
 +
While inspecting the code [[I]] noticed that the core application logic in [https://github.com/controlsjs/minesweeper/blob/55549f4a68019706a80406c79f6af270f11410da/client/src/main/java/com/controlsjs/demo/minesweeper/MinesModel.java MinesModel.java] hasn't changed at all! It doesn't make sense to count one [https://github.com/controlsjs/minesweeper/commit/55549f4a68019706a80406c79f6af270f11410da?diff=long#diff-59bc0db8375ee7490ee96e4fe102033c additional property] and removed ''goto links'' handling due to simplified UI. Wow!
Such extreme portability of [[DukeScript]] application is made possible by flexible design of [http://bits.netbeans.org/html+java/1.3/net/java/html/json/Model.html the core annotations] and absolute separation of the application logic code from the UI.
Such extreme portability of [[DukeScript]] application is made possible by flexible design of [http://bits.netbeans.org/html+java/1.3/net/java/html/json/Model.html the core annotations] and absolute separation of the application logic code from the UI.

JaroslavTulach: /* Porting MineSweeper */ - 2016-05-09 03:29:58

Porting MineSweeper

←Older revision Revision as of 03:29, 9 May 2016
Line 8: Line 8:
* http://xelfi.cz/minesweeper/bck2brwsr/ - the original [[MineSweeper]] as written by me
* http://xelfi.cz/minesweeper/bck2brwsr/ - the original [[MineSweeper]] as written by me
-
Under the hood both versions are almost the same. They only differ in the rendering technology. And here is the [[iOS]] application:
+
Under the hood both versions are almost the same. They only differ in the rendering technology. All the other features - for example high portability remain:
-
https://itunes.apple.com/us/app/controls.js-fair-minesweeper/id1110702611
+
* the [[iOS]] application: https://itunes.apple.com/us/app/controls.js-fair-minesweeper/id1110702611
 +
* the [[Android]] version: https://play.google.com/store/apps/details?id=com.controlsjs.demo.minesweeper
Thanks a lot for providing my [[MineSweeper]] to [[iOS]] users, dear [[ControlsJS]] guys!
Thanks a lot for providing my [[MineSweeper]] to [[iOS]] users, dear [[ControlsJS]] guys!

JaroslavTulach: /* Porting MineSweeper */ - 2016-05-09 03:28:06

Porting MineSweeper

←Older revision Revision as of 03:28, 9 May 2016
Line 3: Line 3:
== Porting [[MineSweeper]] ==
== Porting [[MineSweeper]] ==
-
Since [[I]] [[AppStoreTheEnd|gave up on Apple]] and decided [[I]] don't want to pay that company money for nothing, [[I]] was searching for somebody who would distribute my [[MineSweeper]] application on [[iOS]]. At the end, the [[ControlsJS]] guys agreed to do it, but only if the application starts using [[ControlsJS]].
+
Since [[I]] [[AppStoreTheEnd|gave up on Apple]] and decided [[I]] don't want to pay that company money for nothing, [[I]] was searching for somebody who would distribute my [[MineSweeper]] application on [[iOS]]. At the end, the [[ControlsJS]] guys agreed to do it, but only if the application starts using [[ControlsJS]]. As a result of this experiment we now have two completely different UI, for the same application code:
 +
 
 +
* http://controlsjs.com/demos/minesweeper/ - the new [[ControlsJS|Controls]] for [[Java]] version
 +
* http://xelfi.cz/minesweeper/bck2brwsr/ - the original [[MineSweeper]] as written by me
 +
 
 +
Under the hood both versions are almost the same. They only differ in the rendering technology. And here is the [[iOS]] application:
 +
 
 +
https://itunes.apple.com/us/app/controls.js-fair-minesweeper/id1110702611
 +
 
 +
Thanks a lot for providing my [[MineSweeper]] to [[iOS]] users, dear [[ControlsJS]] guys!
 +
 
 +
== Write Business Logic, Choose UI later ==
 +
 
 +
The code for the [[ControlsJS|Controls]] [[MineSweeper]] is available on github: https://github.com/controlsjs/minesweeper - while inspecting the code changes [[I]] noticed that the core application logic in [https://github.com/controlsjs/minesweeper/blob/55549f4a68019706a80406c79f6af270f11410da/client/src/main/java/com/controlsjs/demo/minesweeper/MinesModel.java MinesModel.java] hasn't changed at all (almost - it doesn't make sense to count one [https://github.com/controlsjs/minesweeper/commit/55549f4a68019706a80406c79f6af270f11410da?diff=long#diff-59bc0db8375ee7490ee96e4fe102033c additional property] and removed ''goto links'' handling due to simplified UI).
 +
 
 +
Such extreme portability of [[DukeScript]] application is made possible by flexible design of [http://bits.netbeans.org/html+java/1.3/net/java/html/json/Model.html the core annotations] and absolute separation of the application logic code from the UI.
 +
 
 +
As an implication you can focus on your code, provide draft version of UI, and later, completely throw the UI away and redesign it in a much better way. Changes are high you will not touch your application code at all!
 +
 
 +
Moreover you can completely change the UI technology. Start with classical [[HTML4Java]] solution and later switch to [[ControlsJS]] - given the rich set of tools they offer including [[Wysiwig]] form editor, it may really boost your productivity.

JaroslavTulach at 03:01, 9 May 2016 - 2016-05-09 03:01:44

←Older revision Revision as of 03:01, 9 May 2016
Line 1: Line 1:
-
[http://controlsjs.com/ ControlsJS] is a portable widgets technologies for any browser with fantastic tooling - browser based form editor, extensions for [[NetBeans]] and many more. The company behind [[ControlsJS] is mostly [[JavaScript]] oriented, but they are also great [[DukeScript]] supporters. As such there is also [[Java]] version of [[ControlsJS|controls]].
+
[http://controlsjs.com/ ControlsJS] is a robust widgets technology for any browser including the most archaic versions of IE. It comes with fantastic tooling - browser based form editor, extensions for [[NetBeans]] and many more. The company behind [[ControlsJS] is mostly [[JavaScript]] oriented, but they are also great [[DukeScript]] supporters. As such there is also a [[Java]] version of [[ControlsJS|controls]].
 +
 
 +
== Porting [[MineSweeper]] ==
Since [[I]] [[AppStoreTheEnd|gave up on Apple]] and decided [[I]] don't want to pay that company money for nothing, [[I]] was searching for somebody who would distribute my [[MineSweeper]] application on [[iOS]]. At the end, the [[ControlsJS]] guys agreed to do it, but only if the application starts using [[ControlsJS]].
Since [[I]] [[AppStoreTheEnd|gave up on Apple]] and decided [[I]] don't want to pay that company money for nothing, [[I]] was searching for somebody who would distribute my [[MineSweeper]] application on [[iOS]]. At the end, the [[ControlsJS]] guys agreed to do it, but only if the application starts using [[ControlsJS]].