Introduction
This is part of series intended to develop cross platform mobile applications in Java. In this blog post we will see what GWT is and set up the development environment for GWT.GWT is an open source development toolkit for developing complex browser based Ajax applications. Using GWT you can develop Rich Internet Applications(RIA) in Java which is then compiled into JavaScript and is cross browser compliant.
Some of the advantages of developing web applications in GWT are:
Since GWT apps can be developed in Java, you can enjoy all the advantages of developing in Java like auto-complete,Debugging, refactoring, code reuse, polymorphism, over riding, over loading. And Java has large set of tools for development like Eclipse, NetBeans,JUnit and Maven etc which you can use for developing Rich Internet Applications(RIA).
Maintaining large JavaScript projects is not easier when compared to Java projects. But you need JavaScript to run Rich Internet Applications in browser. GWT combines both the advantages. You develop the applications in Java and then they are compiled into JavaScript, so you are having best of both.
GWT is almost similar to AWT and Swing packages in Java and so has a low learning curve for Java Developers.
Supporting several browsers in the market is a difficult tasks. Each browser creates it own set of problems. GWT solves this problem by creating optimized JavaScript code for each browser specifically addressing the issues with that browser. So you can support almost all the major browsers including Android , iPad and iPhone based browsers without worrying about quirks for each browser.
Developing UI's in Java is difficult task compared to other aspects of Java programming. GWT solves it by providing several UI widgets and also you can extend the existing widgets and create your own custom widgets if you wish to.
Some of the limitations of GWT are:
Since the java code is compiled into JavaScript which runs on the browsers, the JavaScript needs to be enabled on the browsers. The applications will not work if the JavaScript is not enabled on the browser.
If you have specialist UI designers who can create HTML pages, this will not work. You may have to implement what ever Designer created again in GWT.
Web Pages created by GWT cannot be indexed by search engines since these applications are generated dynamically.
I think except the second drawback in the list, others don't matter much. It is difficult to provide a rich internet application just in HTML. You will need JavaScript to create rich internet applications. Some apps provide a limited version of apps which work if JavaScript is disabled but majority of apps require JavaScript , so you are not the one there. And there is no reason why large number of users will disable JavaScript on their browsers.
And there is a work around for indexing by search engines. The index page can be created in html, and the remaining pages can be created in GWT. GWT provides an option to define index page in html format. So the index page can still be indexed by search engines and the other pages are mostly dynamically created data, so they don't need to come up in the search unless you they are some kind of content management systems(CMS).
Like the case with all the frameworks, GWT doesn't solve all the issues, but it surely makes the java developers more productive developing the web applications, provides cross browser support and works perfectly for complex enterprise web applications.
GWT Development Environment Setup
We will start setting up the development environment for GWT applications.Java
Since you will developing the applications in Java before they are compiled into JavaScript, you need to set up Java development environment.Once Java environment is set up, let us configure the environment for GWT.
GWT SDK:
Download the latest version of GWT SDK from the GWT project site.
http://www.gwtproject.org/download.html
Go to the above link and click on ‘Download GWT SDK’ highlighted in the above screen. Then unzip the downloaded GWT SDK to your preferred location on your hard disk and it will look similar to the below screen shot.
You might want to add this path to use the commands available in gwt.
Right click on ‘Computer’ on your desktop and select ‘Properties’ which displays the below screen. Click on ‘Advanced System settings’.
Click on ‘Environment Variables’ in the below screen.
Clicking on Environment Variables will display the below Window. Select ‘Path’ from the list of available variables and add the path to which you extracted GWT SDK.
Then click on ‘OK’ to close the ‘Edit User Variable’ screen and ‘OK’ in ‘Environment Variables’ and ‘System Properties’ window to save the modifications.
Eclipse
You need to install the eclipse plug-in for GWT to develop GWT applications on eclipse easily. To install GWT eclipse plug-in , launch eclipse , go to Help –> Eclipse Marketplace
Search for GWT in the eclipse market place.
Find out ‘Google Plugin for Eclipse’ and the version number should match the version of the eclipse you are using. If you are using Eclipse Kepler(eclipse 4.3), you need to look for ‘Google Plugin for Eclipse 4.3) and click on ‘Install’.
Accept the license and click on ‘Next’ to continue installation.
It takes some time to download and install the plug-in.
While installing you will get a security warning. Just click on ‘Ok’ to continue the installation.
Restart the eclipse after the installation of plug-in is completed. After restarting the eclipse, you will see the GWT plug-in added to the eclipse tool bar.
NetBeans
If NetBeans is your preferred IDE, there is an GWT plug-in available for NetBeans as well.Launch NetBeans, and in NetBeans ‘Start Page’ click on ‘Install Plugins’.
Alternatively you can navigate to Plugins view by selecting Tools – > Plugins from the NetBeans menu.
In the Plugins Windows, navigate to ‘Available Plugins’ tab.
In the Search textbox, enter gwt and hit Enter. This will return the gwt related plugins for NetBeans.
The GWT plug-in for NetBeans in GWT4NB which is the only GWT plug-in available in the list. So select it to install and click on Install button at the bottom of the Plugins screen.
Click on ‘Next >’ button to start the installation of the GWT NetBeans plug-in.
Select the check box against the license agreement and click on Install to agree to the license agreement and to start the installation process.
GWT NetBeans plug-in is being installed..
When the below message is displayed, just click on Continue to continue the installation process.
Restart the IDE once the installation is completed by selecting against the ‘Restart IDE Now’ and clicking on ‘Finish’.
Once the IDE is restarted, from the NetBeans Menu bar , select File –> New Project. You will see the below New Project window which has a GWT option under the Categories indicating that the GWT Plugin for NetBeans is installed successfully.
Browser Plugins
And we need to install extensions to the browser you are planning to use for running the GWT app in development mode. We will see later what the development mode is, but for now let us install the plugins for the browser to complete our set up of the development environment. If you launch the app in Dev mode without installing the plug-in, the browser will display a message similar to below.
In Internet Explorer:
On Chrome:
When you click on Download, On Chrome, you will be redirected to the Chrome extensions page from where you can install the GWT Developer plug-in.
Click on ‘FREE’ button to install the plug-in on Chrome browser.
On IE, clicking on ‘Download’ button will download a ‘GWTDevPluginSetup.exe’ set up and launching it will install the GWT developer plug-in for IE.
Restart the browsers after the GWT developer plug-in is installed.
Unfortunately the latest versions of Mozilla Firefox doesn't support the GWT Developer Plugin. So you can’t work in Development mode on latest version of Firefox, but GWT already provides a super dev mode which doesn’t require installing any plug-in during development. So you can use Firefox in super dev mode during development mode.
Wonderful blog & good post.Its really helpful for me, awaiting for more new post. Keep Blogging!..Thanks for sharing this wonderful blog..
ReplyDeleteJAVA J2EE Training in Chennai
Hi admin, how to setup java environment in windows 8. thanks in advance.. JAVA Training
ReplyDeleteAll the steps in these blog was crystal clear, thanks for sharing the valuable information to my vision. keep blogging...
ReplyDeleteJAVA Training in Chennai
Thanks for sharing the pretty post, if you focus the certification training to enhance your skill for attaining good job in IT industry, for that you have to take the valuable certification training of SAS for your career growth.
ReplyDeleteRegards,
sas training in Chennai|sas course in Chennai|sas training institute in Chennai
This technical post helps me to improve my skills set, thanks for this wonder article I expect your upcoming blog, so keep sharing...
ReplyDeleteRegards,
ccna course in Chennai|ccna training in Chennai|ccna courses in Chennai
thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.Selenium Training in Chennai | Selenium Course in Chennai
ReplyDeleteOutstanding post and Thank you for sharing such useful information with us. Keep blogging...
ReplyDeletePega Training in Chennai
Pega Course
Primavera Training in Chennai
Tableau Training in Chennai
Unix Training in Chennai
Job Openings in Chennai
Excel Training in Chennai
Spark Training in Chennai
Power BI Training in Chennai
Pega Training in Anna Nagar
Great experience for me by reading this blog. Nice Article.
ReplyDeleteEthical Hacking course in Chennai
Ethical Hacking Training in Chennai
Hacking course in Chennai
ccna course in Chennai
Salesforce Training in Chennai
AngularJS Training in Chennai
PHP Training in Chennai
Ethical Hacking course in Tambaram
Ethical Hacking course in Velachery
Ethical Hacking course in T Nagar
Hi! I just would like to offer you a big thumbs up for the excellent information getting you have got here on this post. I am coming back to your site for more soon.
ReplyDeletethanks for sharing such a nice info.I hope you will share more information like this. please keep on sharing!
ReplyDeleteBig Data Hadoop Training In Chennai | Big Data Hadoop Training In anna nagar | Big Data Hadoop Training In omr | Big Data Hadoop Training In porur | Big Data Hadoop Training In tambaram | Big Data Hadoop Training In velachery
I am so happy to found your blog post because it's really very informative. Please keep writing this kind of blogs and I regularly visit this blog. Have a look at my services.
ReplyDeleteCyber Security Training Course in Chennai | Certification | Cyber Security Online Training Course | Ethical Hacking Training Course in Chennai | Certification | Ethical Hacking Online Training Course | CCNA Training Course in Chennai | Certification | CCNA Online Training Course | RPA Robotic Process Automation Training Course in Chennai | Certification | RPA Training Course Chennai | SEO Training in Chennai | Certification | SEO Online Training Course
ReplyDeletevery interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries.
Cyber Security Training Course in Chennai | Certification | Cyber Security Online Training Course | Ethical Hacking Training Course in Chennai | Certification | Ethical Hacking Online Training Course | CCNA Training Course in Chennai | Certification | CCNA Online Training Course | RPA Robotic Process Automation Training Course in Chennai | Certification | RPA Training Course Chennai | SEO Training in Chennai | Certification | SEO Online Training Course
Nice blog so intersting to read and it is goog and informative.
ReplyDeleteacte reviews
acte velachery reviews
acte tambaram reviews
acte anna nagar reviews
acte porur reviews
acte omr reviews
acte chennai reviews
acte student reviews
really a lovely blog and quality information is shared
ReplyDeleteFull Stack Course Chennai
Full Stack Training in Bangalore
Full Stack Course in Bangalore
Full Stack Training in Hyderabad
Full Stack Course in Hyderabad
Full Stack Training
Full Stack Course
Full Stack Online Training
Full Stack Online Course
Salesforce CRM is a cloud-based software that helps organizations to effectively streamline their sales and marketing operations.
ReplyDeleteSalesforce Training in Chennai
Salesforce Online Training in Chennai
Salesforce Training in Bangalore
Salesforce Training in Hyderabad
Salesforce training in ameerpet
Salesforce Training in Pune
Salesforce Online Training
Salesforce Training
The presence of cloud-based characteristics in Salesforce makes it a popular CRM solution unlike other similar tools. Salesforce training in Hyderabad
ReplyDeletei really appreciate your efforts for writing this blog.Thanks for sharing.
ReplyDeleteFull-stack classes in Nagpur
thanks for this valuable information , keep posting and if you are intresting in web development then checkout my full stack course in satara
ReplyDelete