Spring is undoubtedly the most popular application development framework for enterprise Java. The key benefits of Spring framework emerge from its modularity, productivity, portability and testability.
In this session, we have introduced you to development of cross platform applications using Spring. This will help you to understand the nuance of web, mobile and desktop application development with Spring.
Contents
* Why you cannot ignore cross platform development
* Key architectural considerations
* How to control cost and schedule with 'Responsive Web Design'
* Role of Spring MVC in cross platform development
* Useful tools in the bag
* Comparing mobile frameworks with Spring
* A few do's and don'ts for cross platform development
* A live demo on how to build a cross platform application
1. Cross Platform (web, mobile, desktop) Development with
Spring
- Nirav Sanghavi &
Neel Makadiya
2. About Cygnet Infotech
• We are a global IT services & solutions
provider.
• We provide custom software development
services across technologies and domains
to our clients in over 23 countries.
• We are ISO 9001, ISO 27001 and CMMi
Level III Certified
• Learn more about us at www.cygnet-
infotech.com
3. TestingWhiz™ is an Easy,
Intuitive and Affordable Test
Automation Solution that uses
Keyword-Driven Testing and
Data Driven Testing for Web
and Cloud Application Testing
www.testing-whiz.com
m1 enterprise ordering
systems provide a range of
smartphone based ordering
apps applicable for B2B, retail,
restaurants and catalog
companies
www.my-m1.com
Code Less, Test More
4. Webinar Agenda
• Why you cannot ignore cross platform development
• Key architectural considerations
• How to control cost and schedule with 'Responsive Web Design'
• Role of Spring MVC in cross platform development
• Useful tools in the bag
• A few do's and don'ts for cross platform development
• A LIVE DEMO on how to build a cross platform application
• Q&A
5. Webinar Agenda
• Why you cannot ignore cross platform development
• Key architectural considerations
• How to control cost and schedule with 'Responsive Web Design'
• Role of Spring MVC in cross platform development
• Useful tools in the bag
• A few do's and don'ts for cross platform development
• A LIVE DEMO on how to build a cross platform application
• Q&A
6. Why you cannot ignore cross platform development?
Greater Reach
7. Why you cannot ignore cross platform development?
Easy Marketing
8. Why you cannot ignore cross platform development?
• Development speed and cost
• Better user experience
• Shorten testing cycles
• Better visibility for code re-use
• Reduced integration time
9. Webinar Agenda
• Why you cannot ignore cross platform development
• Key architectural considerations
• How to control cost and schedule with 'Responsive Web Design'
• Role of Spring MVC in cross platform development
• Useful tools in the bag
• A few do's and don'ts for cross platform development
• A LIVE DEMO on how to build a cross platform application
• Q&A
10. Key architectural considerations
Approach 1:
-Expose services as restful web services
-Client can access these web services from desktop, mobile, tablet, web
Pros:
• Centralized business logic
• Centralized API controlling
• Maintainable code
Cons:
• Multiple UI
• Extra care is required to make sure that
branding is consistent
• Manual parsing of request for its source
and redirection rules based on that to
be coded
11. Key architectural considerations
Approach 2 (a):
-Use Spring and make use of Spring mobile plugin with non-responsive web design
-Client can access application from tablet, mobile, web
Pros:
• Centralized business logic
• Centralized API controlling
• Maintainable code
• Identify request source automatically
for ease in redirection rules
• Different set of feature can be offered
for each device
Cons:
• Multiple UI for each device
• Extra care is required to make sure that
branding is consistent
12. Key architectural considerations
Approach 2 (b):
-Use Spring and make use of Spring mobile plugin with responsive web design
-Client can access application from tablet, mobile, web
Pros:
• Centralized business logic
• Centralized API controlling
• Maintainable code
• Identify request source automatically
for ease in redirection rules
• Single UI
• Consistent branding
Cons:
• Too cumbersome coding is required to
offer different set of features
• Slightly degraded performance
• Time required to code view layer is
more
13. Webinar Agenda
• Why you cannot ignore cross platform development
• Key architectural considerations
• How to control cost and schedule with 'Responsive Web Design'
• Role of Spring MVC in cross platform development
• Useful tools in the bag
• A few do's and don'ts for cross platform development
• A LIVE DEMO on how to build a cross platform application
• Q&A
14. How to control cost and schedule with 'Responsive
Web Design'
Responsive design is a web design and development technique that creates a
site or system that reacts to the size of a user’s screen. Responsive design will
optimize a user’s browsing experience by creating a flexible and responsive web
page, optimized for the device that is accessing it.
17. Benefits with 'Responsive Web Design'
• Increase sales and conversion rates
• Consolidate your analytics and reporting
• Increase your visibility in search engines
• Easy to manage
18. Webinar Agenda
• Why you cannot ignore cross platform development
• Key architectural considerations
• How to control cost and schedule with 'Responsive Web Design'
• Role of Spring MVC in cross platform development
• Useful tools in the bag
• A few do's and don'ts for cross platform development
• A LIVE DEMO on how to build a cross platform application
• Q&A
19. Role of Spring MVC in cross platform development
• Clear separation of roles
• Powerful and straightforward configuration
• Adaptability, non-intrusiveness
• Reusable business code
• Customizable binding and validation
• Customizable handler mapping and view resolution
• Flexible model transfer
20. Webinar Agenda
• Why you cannot ignore cross platform development
• Key architectural considerations
• How to control cost and schedule with 'Responsive Web Design'
• Role of Spring MVC in cross platform development
• Useful tools in the bag
• A few do's and don'ts for cross platform development
• A LIVE DEMO on how to build a cross platform application
• Q&A
21. Useful tools in the bag
• Eclipse with needful plugins
• Firebug
• Web development tools
• Android simulator
• SOAP UI
• Rest client
• Junit
• Load runner
• Spring mobile
22. Webinar Agenda
• Why you cannot ignore cross platform development
• Key architectural considerations
• How to control cost and schedule with 'Responsive Web Design'
• Role of Spring MVC in cross platform development
• Useful tools in the bag
• A few do's and don'ts for cross platform development
• A LIVE DEMO on how to build a cross platform application
• Q&A
23. Do’s Don’ts
Use best of Java features Don’t code APIs that are vendor
dependent
Do stick to branding Don't overdo branding
Do REST Don't neglect the presentation
Choose view layer design to be
responsive with reason
Don’t overlook performance parameter
while design. It’s not post production job.
Use Maven based project structure
with Spring
Omit version numbers plugins! Do not
rely on Maven’s built in Super pom
plugin versions
Use SLF4j and Logback for logging Do not use System.out, System.err
Use Jetty for faster deployment in dev Don’t use Tomcat unless there is a reason
A few do's and don'ts for cross platform development
24. Webinar Agenda
• Why you cannot ignore cross platform development
• Key architectural considerations
• How to control cost and schedule with 'Responsive Web Design'
• Role of Spring MVC in cross platform development
• Useful tools in the bag
• A few do's and don'ts for cross platform development
• A LIVE DEMO on how to build a cross platform application
• Q&A