SlideShare a Scribd company logo
1 of 10
Implementation of GUI Framework 
Part3 : Introduction of GUI Components using 
JavaScript 
Masahiro Okubo @ HDE
Table of Contents 
Part1 : Overview of the GUI framework 
Part2 : How to use Bootstrap 
Part3 : Introduction of GUI Components using JavaScript (Today’s session) 
Part4 : Communitation with the server using Ajax and JSON 
Part5 : How to convert a POJO (Plain Old Java Object) JSON 
Part6 : Web application architecture on the server side 
I am glad to see you again to everyone. 
Today, I would like to tell about GUI Components of our 
products.
GUI Framework Architecture 
Client Side Server Side 
Application program 
Custom JavaScript Library (GUI Components) 
jQuery 
Custom CSS 
Bootstrap 
Modern Web Browsers (Ex. IE9,Firedox,Chome) 
RDB 
Data Access Framework 
Service Framework 
JSONIC Apache Click 
Apache Tomcat 
There are a lot of JavaScript based UI framerowk but I made it by 
myself.
Look back 
■Separation of control and screen design 
I want to do to free the screen layout. 
I want to use the excellent CSS such as BootStrap. 
■Simple and unified interface 
I think if you have developed in JavaScript with leave to the 
skill of the programmer, be disastrous to happen. Need some 
framework. 
■Ease of data handling 
Retrive a value from form, check, and post to server , 
processed, and stored in the DB… too cumbersome !
Flow of processing 
Form Table Control Model 
Server 
Side 
submit 
attach 
nofity (onSubmit) 
get & check 
insert 
insert (JSON-RPC) 
result 
result 
display result 
notify 
find 
find 
result 
display data
Write HTML of Form 
<form id="ac-form"> 
<input type="hidden" name="status" value="0"> 
<input type="hidden" name="lastLoginDate" value=""> 
<div class="form-group"> 
<label>$messages.user.dialog.account</label> 
<div class="col-sm-6"> 
<input type="text" name="account"> 
</div> 
</div> 
<div class="form-group"> 
<label>$messages.user.dialog.username</label> 
<div class="col-sm-6"> 
<input type="text" name="username"> 
</div> 
</div> 
<div class="form-group"> 
<label>$messages.user.dialog.password</label> 
<div class="col-sm-6"> 
<input type="password" name="password" autocomplete="off" disabled> 
</div> 
</div> 
<div class="form-group"> 
<label>$messages.user.dialog.confPassword</label> 
<div class="col-sm-6"> 
<input type="password" name="confPassword" autocomplete="off" disabled> 
</div> 
</div> 
</form>
Write JavaScript 
persimmon.app.Account = function(id, prop) { 
this.init_(id, prop); 
}; 
persimmon.app.Account.prototype = { 
init_ : function(id, prop) { 
this.model_ = persimmon.lib.DataSource.getInstance(“Account”); 
this.form_ = persimmon.lib.component.Form(“ac-form”, null); 
this.submit_ = $(document).find(“ac-submit”); // using jQuery 
this.submit_.on(‘click’, this, this.insertData); 
}, 
insertData : function(event) { 
var my = event.data; 
var account = my.form.get(); 
if (my.confirmPassword(account)) { 
my.model.insert(account); 
} else { 
// display error message. 
} 
} 
}; 
var account = { 
status : 0, 
lastLoginDate : “”, 
account : “okubo”, 
username : “Masahiro 
Okubo”, 
password : “mypassword”, 
confPassword : 
“mypassword” 
};
Write HTML of Table 
<table id="ac-table"> 
<thead> 
<tr> 
<th data-name="account" data-link="id">$messages.user.table.list.account</th> 
<th data-name="name">$messages.user.table.list.name</th> 
<th data-name="lastLoginDate">$messages.user.table.list.lastLoginDate</th> 
</tr> 
</thead> 
<tbody> 
</tbody> 
</table>
Write JavaScript 
persimmon.app.Account = function(id, prop) { 
this.init_(id, prop); 
}; 
persimmon.app.Account.prototype = { 
init_ : function(id, prop) { 
this.model_ = persimmon.lib.DataSource.getInstance(“Account”); 
this.form_ = persimmon.lib.component.Form(“ac-form”, null); 
this.submit_ = $(document).find(“ac-submit”); // using jQuery 
this.submit_.on(‘click’, this, this.insertData); 
this.table_ = persimmon.lib.Table(“ac-table”, 
{ 
source : this.model, 
order : [ { name : “account”, ascending : true } ], 
rows : 10 
}); 
this.table_.refresh(); // display data 
}, 
insertData : function(event) { 
var my = event.data; 
var account = my.form.get(); 
if (my.confirmPassword(account)) { 
my.model.insert(account); 
} else { 
// display error message. 
} 
} 
};
Next 
Part1 : Overview of the GUI framework 
Part2 : How to use Bootstrap (Today’s session) 
Part3 : Introduction of GUI Components using JavaScript 
Part4 : Communitation with the server using Ajax and JSON 
Part5 : How to convert a POJO (Plain Old Java Object) JSON 
Part6 : Web application architecture on the server side 
Thank you for your attention. 
I would like to describe the server communication using Ajax 
and JSON next time.

More Related Content

What's hot

Google Polymer Introduction
Google Polymer IntroductionGoogle Polymer Introduction
Google Polymer IntroductionDavid Price
 
Harness jQuery Templates and Data Link
Harness jQuery Templates and Data LinkHarness jQuery Templates and Data Link
Harness jQuery Templates and Data LinkBorisMoore
 
Introduction to Browser Internals
Introduction to Browser InternalsIntroduction to Browser Internals
Introduction to Browser InternalsSiva Arunachalam
 
Levent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & PolymerLevent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & PolymerErik Isaksen
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS IntrodructionDavid Ličen
 
Real World Web components
Real World Web componentsReal World Web components
Real World Web componentsJarrod Overson
 
Polymer and web component
Polymer and web componentPolymer and web component
Polymer and web componentImam Raza
 
Effective TDD - Less is more
Effective TDD - Less is moreEffective TDD - Less is more
Effective TDD - Less is moreBen Lau
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web ComponentsFu Cheng
 
Magehack_Autogrid presentation
Magehack_Autogrid presentationMagehack_Autogrid presentation
Magehack_Autogrid presentationSzabolcs (Sam) Ban
 
Javascript ui for rest services
Javascript ui for rest servicesJavascript ui for rest services
Javascript ui for rest servicesIoan Eugen Stan
 
How to build a web application with Polymer
How to build a web application with PolymerHow to build a web application with Polymer
How to build a web application with PolymerSami Suo-Heikki
 
Cloud browser testing with Gradle and Geb
Cloud browser testing with Gradle and GebCloud browser testing with Gradle and Geb
Cloud browser testing with Gradle and GebDavid Carr
 

What's hot (20)

Google Polymer Introduction
Google Polymer IntroductionGoogle Polymer Introduction
Google Polymer Introduction
 
Harness jQuery Templates and Data Link
Harness jQuery Templates and Data LinkHarness jQuery Templates and Data Link
Harness jQuery Templates and Data Link
 
Introduction to Browser Internals
Introduction to Browser InternalsIntroduction to Browser Internals
Introduction to Browser Internals
 
BBUI
BBUIBBUI
BBUI
 
Levent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & PolymerLevent-Gurses' Introduction to Web Components & Polymer
Levent-Gurses' Introduction to Web Components & Polymer
 
Nuxt.JS Introdruction
Nuxt.JS IntrodructionNuxt.JS Introdruction
Nuxt.JS Introdruction
 
Real World Web components
Real World Web componentsReal World Web components
Real World Web components
 
Os mobile
Os mobileOs mobile
Os mobile
 
Os mobile
Os mobileOs mobile
Os mobile
 
Polymer and web component
Polymer and web componentPolymer and web component
Polymer and web component
 
Effective TDD - Less is more
Effective TDD - Less is moreEffective TDD - Less is more
Effective TDD - Less is more
 
Introduction to Web Components
Introduction to Web ComponentsIntroduction to Web Components
Introduction to Web Components
 
Nuxt Talk
Nuxt TalkNuxt Talk
Nuxt Talk
 
Magehack_Autogrid presentation
Magehack_Autogrid presentationMagehack_Autogrid presentation
Magehack_Autogrid presentation
 
How browser work
How browser workHow browser work
How browser work
 
Zk doc1
Zk doc1Zk doc1
Zk doc1
 
Javascript ui for rest services
Javascript ui for rest servicesJavascript ui for rest services
Javascript ui for rest services
 
Jasmine 2.0
Jasmine 2.0Jasmine 2.0
Jasmine 2.0
 
How to build a web application with Polymer
How to build a web application with PolymerHow to build a web application with Polymer
How to build a web application with Polymer
 
Cloud browser testing with Gradle and Geb
Cloud browser testing with Gradle and GebCloud browser testing with Gradle and Geb
Cloud browser testing with Gradle and Geb
 

Viewers also liked

Introducing chrome apps (ogura)
Introducing chrome apps (ogura)Introducing chrome apps (ogura)
Introducing chrome apps (ogura)Kazuhiro Ogura
 
Introduction to bioinformatics
Introduction to bioinformaticsIntroduction to bioinformatics
Introduction to bioinformaticsphilmaweb
 
Studying Abroad in Cebu
Studying Abroad in CebuStudying Abroad in Cebu
Studying Abroad in Cebuetgjsv
 
First impressions of Go
First impressions of GoFirst impressions of Go
First impressions of GoYusaku OGAWA
 
Jun.27 fukutomi
Jun.27 fukutomiJun.27 fukutomi
Jun.27 fukutomiiyo16
 
Ui testing with splinter - Fri, 30 May 2014
Ui testing with splinter - Fri, 30 May 2014Ui testing with splinter - Fri, 30 May 2014
Ui testing with splinter - Fri, 30 May 2014Taizo Ito
 
A brief introduction to CentOS 7
A brief introduction to CentOS 7A brief introduction to CentOS 7
A brief introduction to CentOS 7Taizo Ito
 
Hello pivotal tracker
Hello pivotal trackerHello pivotal tracker
Hello pivotal trackersharu1204
 
Do not rm_log_files
Do not rm_log_filesDo not rm_log_files
Do not rm_log_filesMasato Bito
 
Implement server push in flask framework
Implement server push in flask frameworkImplement server push in flask framework
Implement server push in flask frameworkChi-Chia Huang
 
Introduction to systemd
Introduction to systemdIntroduction to systemd
Introduction to systemdYusaku OGAWA
 
Garbled text in email
Garbled text in emailGarbled text in email
Garbled text in emailtas-hiro
 
Self Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWSSelf Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWSsharu1204
 

Viewers also liked (20)

Introducing chrome apps (ogura)
Introducing chrome apps (ogura)Introducing chrome apps (ogura)
Introducing chrome apps (ogura)
 
Introduction to bioinformatics
Introduction to bioinformaticsIntroduction to bioinformatics
Introduction to bioinformatics
 
DockerCon 14
DockerCon 14DockerCon 14
DockerCon 14
 
Studying Abroad in Cebu
Studying Abroad in CebuStudying Abroad in Cebu
Studying Abroad in Cebu
 
First impressions of Go
First impressions of GoFirst impressions of Go
First impressions of Go
 
Jun.27 fukutomi
Jun.27 fukutomiJun.27 fukutomi
Jun.27 fukutomi
 
Ui testing with splinter - Fri, 30 May 2014
Ui testing with splinter - Fri, 30 May 2014Ui testing with splinter - Fri, 30 May 2014
Ui testing with splinter - Fri, 30 May 2014
 
A brief introduction to CentOS 7
A brief introduction to CentOS 7A brief introduction to CentOS 7
A brief introduction to CentOS 7
 
How to study english
How to study englishHow to study english
How to study english
 
Overview pcidss
Overview pcidssOverview pcidss
Overview pcidss
 
Hello pivotal tracker
Hello pivotal trackerHello pivotal tracker
Hello pivotal tracker
 
Do not rm_log_files
Do not rm_log_filesDo not rm_log_files
Do not rm_log_files
 
Implement server push in flask framework
Implement server push in flask frameworkImplement server push in flask framework
Implement server push in flask framework
 
Introduction to systemd
Introduction to systemdIntroduction to systemd
Introduction to systemd
 
Garbled text in email
Garbled text in emailGarbled text in email
Garbled text in email
 
AWS Cost Visualizer
AWS Cost VisualizerAWS Cost Visualizer
AWS Cost Visualizer
 
I18n of java script
I18n of java scriptI18n of java script
I18n of java script
 
The language barrier.
The language barrier.The language barrier.
The language barrier.
 
Authentication
AuthenticationAuthentication
Authentication
 
Self Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWSSelf Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWS
 

Similar to Implementation of GUI Framework part3

Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...Uniface
 
GHC Participant Training
GHC Participant TrainingGHC Participant Training
GHC Participant TrainingAidIQ
 
Practical PHP by example Jan Leth-Kjaer
Practical PHP by example   Jan Leth-KjaerPractical PHP by example   Jan Leth-Kjaer
Practical PHP by example Jan Leth-KjaerCOMMON Europe
 
AnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFacesAnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFacesAnkara JUG
 
HTML5 New and Improved
HTML5   New and ImprovedHTML5   New and Improved
HTML5 New and ImprovedTimothy Fisher
 
ASP.Net, move data to and from a SQL Server Database
ASP.Net, move data to and from a SQL Server DatabaseASP.Net, move data to and from a SQL Server Database
ASP.Net, move data to and from a SQL Server DatabaseChristopher Singleton
 
Rails GUI Development with Ext JS
Rails GUI Development with Ext JSRails GUI Development with Ext JS
Rails GUI Development with Ext JSMartin Rehfeld
 
ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauSpiffy
 
Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...
Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...
Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...Ayes Chinmay
 
Boston Computing Review - Ruby on Rails
Boston Computing Review - Ruby on RailsBoston Computing Review - Ruby on Rails
Boston Computing Review - Ruby on RailsJohn Brunswick
 

Similar to Implementation of GUI Framework part3 (20)

前端概述
前端概述前端概述
前端概述
 
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
 
Java script
Java scriptJava script
Java script
 
PPT
PPTPPT
PPT
 
GHC Participant Training
GHC Participant TrainingGHC Participant Training
GHC Participant Training
 
Java script
Java scriptJava script
Java script
 
Practical PHP by example Jan Leth-Kjaer
Practical PHP by example   Jan Leth-KjaerPractical PHP by example   Jan Leth-Kjaer
Practical PHP by example Jan Leth-Kjaer
 
AnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFacesAnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFaces
 
HTML5 New and Improved
HTML5   New and ImprovedHTML5   New and Improved
HTML5 New and Improved
 
ASP.Net, move data to and from a SQL Server Database
ASP.Net, move data to and from a SQL Server DatabaseASP.Net, move data to and from a SQL Server Database
ASP.Net, move data to and from a SQL Server Database
 
Rails GUI Development with Ext JS
Rails GUI Development with Ext JSRails GUI Development with Ext JS
Rails GUI Development with Ext JS
 
ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin Lau
 
Introduction to Html5
Introduction to Html5Introduction to Html5
Introduction to Html5
 
JS-05-Handlebars.ppt
JS-05-Handlebars.pptJS-05-Handlebars.ppt
JS-05-Handlebars.ppt
 
J Query Public
J Query PublicJ Query Public
J Query Public
 
Wt unit 2 ppts client sied technology
Wt unit 2 ppts client sied technologyWt unit 2 ppts client sied technology
Wt unit 2 ppts client sied technology
 
Wt unit 2 ppts client side technology
Wt unit 2 ppts client side technologyWt unit 2 ppts client side technology
Wt unit 2 ppts client side technology
 
Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...
Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...
Internet and Web Technology (CLASS-8) [jQuery and JSON] | NIC/NIELIT Web Tech...
 
Angular js
Angular jsAngular js
Angular js
 
Boston Computing Review - Ruby on Rails
Boston Computing Review - Ruby on RailsBoston Computing Review - Ruby on Rails
Boston Computing Review - Ruby on Rails
 

Recently uploaded

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 

Recently uploaded (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Implementation of GUI Framework part3

  • 1. Implementation of GUI Framework Part3 : Introduction of GUI Components using JavaScript Masahiro Okubo @ HDE
  • 2. Table of Contents Part1 : Overview of the GUI framework Part2 : How to use Bootstrap Part3 : Introduction of GUI Components using JavaScript (Today’s session) Part4 : Communitation with the server using Ajax and JSON Part5 : How to convert a POJO (Plain Old Java Object) JSON Part6 : Web application architecture on the server side I am glad to see you again to everyone. Today, I would like to tell about GUI Components of our products.
  • 3. GUI Framework Architecture Client Side Server Side Application program Custom JavaScript Library (GUI Components) jQuery Custom CSS Bootstrap Modern Web Browsers (Ex. IE9,Firedox,Chome) RDB Data Access Framework Service Framework JSONIC Apache Click Apache Tomcat There are a lot of JavaScript based UI framerowk but I made it by myself.
  • 4. Look back ■Separation of control and screen design I want to do to free the screen layout. I want to use the excellent CSS such as BootStrap. ■Simple and unified interface I think if you have developed in JavaScript with leave to the skill of the programmer, be disastrous to happen. Need some framework. ■Ease of data handling Retrive a value from form, check, and post to server , processed, and stored in the DB… too cumbersome !
  • 5. Flow of processing Form Table Control Model Server Side submit attach nofity (onSubmit) get & check insert insert (JSON-RPC) result result display result notify find find result display data
  • 6. Write HTML of Form <form id="ac-form"> <input type="hidden" name="status" value="0"> <input type="hidden" name="lastLoginDate" value=""> <div class="form-group"> <label>$messages.user.dialog.account</label> <div class="col-sm-6"> <input type="text" name="account"> </div> </div> <div class="form-group"> <label>$messages.user.dialog.username</label> <div class="col-sm-6"> <input type="text" name="username"> </div> </div> <div class="form-group"> <label>$messages.user.dialog.password</label> <div class="col-sm-6"> <input type="password" name="password" autocomplete="off" disabled> </div> </div> <div class="form-group"> <label>$messages.user.dialog.confPassword</label> <div class="col-sm-6"> <input type="password" name="confPassword" autocomplete="off" disabled> </div> </div> </form>
  • 7. Write JavaScript persimmon.app.Account = function(id, prop) { this.init_(id, prop); }; persimmon.app.Account.prototype = { init_ : function(id, prop) { this.model_ = persimmon.lib.DataSource.getInstance(“Account”); this.form_ = persimmon.lib.component.Form(“ac-form”, null); this.submit_ = $(document).find(“ac-submit”); // using jQuery this.submit_.on(‘click’, this, this.insertData); }, insertData : function(event) { var my = event.data; var account = my.form.get(); if (my.confirmPassword(account)) { my.model.insert(account); } else { // display error message. } } }; var account = { status : 0, lastLoginDate : “”, account : “okubo”, username : “Masahiro Okubo”, password : “mypassword”, confPassword : “mypassword” };
  • 8. Write HTML of Table <table id="ac-table"> <thead> <tr> <th data-name="account" data-link="id">$messages.user.table.list.account</th> <th data-name="name">$messages.user.table.list.name</th> <th data-name="lastLoginDate">$messages.user.table.list.lastLoginDate</th> </tr> </thead> <tbody> </tbody> </table>
  • 9. Write JavaScript persimmon.app.Account = function(id, prop) { this.init_(id, prop); }; persimmon.app.Account.prototype = { init_ : function(id, prop) { this.model_ = persimmon.lib.DataSource.getInstance(“Account”); this.form_ = persimmon.lib.component.Form(“ac-form”, null); this.submit_ = $(document).find(“ac-submit”); // using jQuery this.submit_.on(‘click’, this, this.insertData); this.table_ = persimmon.lib.Table(“ac-table”, { source : this.model, order : [ { name : “account”, ascending : true } ], rows : 10 }); this.table_.refresh(); // display data }, insertData : function(event) { var my = event.data; var account = my.form.get(); if (my.confirmPassword(account)) { my.model.insert(account); } else { // display error message. } } };
  • 10. Next Part1 : Overview of the GUI framework Part2 : How to use Bootstrap (Today’s session) Part3 : Introduction of GUI Components using JavaScript Part4 : Communitation with the server using Ajax and JSON Part5 : How to convert a POJO (Plain Old Java Object) JSON Part6 : Web application architecture on the server side Thank you for your attention. I would like to describe the server communication using Ajax and JSON next time.