You are on page 1of 17

3 Ways Vaadin Helps to

Future Proof Your Business


2

Table of contents
3 C O M M O N D E V E L O P M E N T C H A L L E N G E S A N D H O W VA A D I N O V E R C O M E S T H E M 4

Challenge #1 - Disorganized Technology and Components 4

Challenge #2 - High and Unforeseen Costs 8

Challenge #3 - Security Issues 11

S U M M A R Y : W H AT T H I S M E A N S F O R Y O U R O R G A N I Z AT I O N 13

THE FUTURE OF BUSINESS APPS 15

3 Reasons Why Forward Thinking Businesses Are Turning to PWA 15

NEXT STEPS 17

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


3

As a CTO, one of your main responsibilities is to deliver an engaging web presence


that supports your business objectives.

There are thousands of examples of excellent and engaging web applications across
every industry, and companies are embarking on new web application development
every day. Is it really that hard selecting a development platform?

Well, it just so happens that there is a long list of variables that can have a dramatic
impact on your final result and the long-term success of your app. Moreover, by
following traditional development paths, the severity of some of these issues may not
surface until long after the project’s completion.

In the upcoming sections, you’ll learn about 3 common challenges that many brands
face from traditional development projects.

You’ll also discover how Vaadin helps eliminate these issues and:

• Reduces both short and long-term costs associated with app development.
• Helps to avoid accumulating a disorganized and inefficient technology stack.
• Makes training, hiring and keeping good developers easier.  
• Eliminates the security issues common with most web apps.

Sure, we could simply tell you that you’d be building your applications on the most
productive platform that connects Java and the Web seamlessly together. Or that
Vaadin provides web developers a library of high-quality user interface components
and an effortless, fast communication between frontend and backend.

But Vaadin is so much more.

To truly appreciate the long-term benefits of Vaadin, we’ll first need to take a closer
look at the issues most organizations face with their development projects.  

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


4

3 Common Development
challenges and how
Vaadin overcomes them
CHALLENGE #1 - DISORGANIZED TECHNOLOGY AND

COMPONENTS

Today we are very fortunate for we have a plenitude of web UI component libraries and
frameworks out there to choose from. A development team can simply cherry-pick the ones
that seem most appealing.

However, an abundance of libraries ends up being highly counterproductive once


development has started.

It’s crucial to realize that all of these individual libraries deliver a unique set of systems when
it comes to the development process. The more tools you use, the more your development
team will need to master to make the most of them.

For starters, developers will have to determine:

• How the UI components are designed to be used


• How much code is needed to implement a single use case


• How many languages and technologies does a library introduce as a by-product 



(e.g., JavaScript, CSS, HTML, XML, etc.) 


© 2017 Vaadin Ltd. All rights reserved. vaadin.com


5

• How the layout mechanisms work


• How components behave on different devices and screen sizes


• How these components consume data


• How that data is provided to the front-end from the back-end


They also have to consider:

• How to extend and customize the existing UI components


• The default visual style of the UI components and how to style them to brand 


• The kind of end-user experience UI components provide


• How often a library receives maintenance updates


• How long a library will be actively developed and maintained


As you can imagine, becoming deeply familiar (the way developers need to) with a single
framework or library takes long enough. By the time you add in components from 4 or 5
sources, it can quickly become an overwhelming task.

Each library you decide to include in your project grows the number of challenges and
possible problems exponentially. Having plenty to choose from may sound good, but
deciding on fewer options will streamline your development process and alleviate a whole
host of potential problems.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


6

Hiring, Training, and Keeping Skilled Developers

You may be starting to detect a pattern to the problems associated with the typical
development process. The complexity of using multiple components from various sources
requires extra time and can lead to problems in the longevity of your application.

It also leads to difficulty within your team(s). When development teams are forced to master
multiple technologies and deliver high performing applications, it adds an element of stress
to an already high energy work environment. Experts must be hired for each platform and
language. More often than not, these specialized developers cannot be moved from task to
task if they are not familiar with the other technologies in the project.

It also makes it far more difficult to find new developers that can master multiple languages
and platforms. This is especially true when it comes to finding the exact blend of
components you’ve featured in your app.

Solution #1 - How Vaadin Eliminates Disorganized Technology Issues

The Vaadin Platform is the perfect solution to this problem. The Vaadin platform consists of a
comprehensive set of web components designed for business applications, a Java web
framework, configurable themes, tools and a set of app templates. Developers can choose
the parts, the languages and the abstraction level they prefer. Enterprises can rely on a
stable, supported platform throughout the long lifecycles of their apps.

This means that your team will have everything they need,  provided by a single platform.
The need to pick and choose from multiple sources is eliminated, dramatically reducing the
time and resources necessary for your team to get started and the potential for the issues
outlined above.

The central benefit of Vaadin is the freedom of choice for developers. No longer are they
forced into making compromises between various non-compatible tools and libraries.
Vaadin does it all without locking them down. Developers can use as much or as little of the
Vaadin platform as they choose. Take advantage of one tiny web component and add
missing functionality, or build your entire system using the full suite of capabilities confident
in the knowledge that they fit seamlessly together.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


7

The Vaadin Platform includes Vaadin Flow, a strong web technologies abstraction layer for
Java and JVM developers. Developers have a convenient access to all features of the web
platform features. It streamlines your development and increases your team's efficiency by:

• Using straightforward Java/JVM API for UI components


• Fusing browser and server communications, with bidirectional support resulting in


impressive productivity as developers don’t have to think about client-server
communication


• Allowing Developers to build applications without touching a single line of JS, CSS or
any markup language


• Letting developers use all JVM features and libraries


The automated communication mechanism provided by Vaadin Flow results in a highly


productive and secure development model, optimized out-of-the-box with strict, preset
security controls.

"Vaadin probably wins the prize for world’s


quickest implementation of push
communications" - Enbridge

High-level UI components allow developers to focus on UI and pleasing end users instead of
browser level details.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


8

"Large number of built-in components really


helped the development team to stay
focused on solving the core business
problems" - Enbridge

All tools and libraries in Java ecosystem can be used out-of-the-box. Components can be
easily configured to meet your application’s specific theming and UI requirements. This level
of versatility supports both client-side and server-side development models

With Vaadin, you are never alone. The Vaadin community is highly collaborative and
supportive, regularly introducing new add-ons that enhance the value of your application.
Vaadin’s online marketplace, the Vaadin Directory, already has over 700 add-ons available.
We also provide online and custom training classes and complete documentation to
support your team. Browse it online or download a free book.

In summary, Vaadin provides your team with an expansive set of native web components; a
robust and secure bidirectional development framework; and a collaborative community,
backed by and fully supported by Vaadin. This combination of tools and talent delivers the
highest levels of developer productivity, a superior UX, and unsurpassed application
longevity.

CHALLENGE #2 - HIGH AND UNFORESEEN COSTS

Cost is at the forefront of nearly every executive decision. We work to deliver the best
possible results at a sensible cost. However, cost can quickly become an issue for any
development project.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


9

The total cost of a software development project consists of three major parts:

1. Development


2. Licensing costs


3. Environment costs 


Licensing costs can be mitigated by using open source solution instead of commercial
software products. And environment costs have come down dramatically because of the
scale, capacity, and options associated with large-scale hosting environments.

By far, the most significant cost in any software project is the development time. The time a
developer spends spending writing, testing and debugging code to implement a high
quality and fully functioning application adds up quickly, along with the cost.  

There are three primary factors that define the time a project will take:

1. How many lines of code is needed


2. How easy it is to write code


3. How easy it is to change existing code


The number of lines of code required is determined by the libraries and frameworks chosen
for the project. Unfortunately, developers tend to favor libraries that let them tweak and tune
every aspect of an application, and that means it can take a lot of code to build a single
feature, even a simple one. The code tends to be verbose and very low-level with a lot of
boilerplate wrapper code.

Building an application this way is akin to building a wall using tiny pebbles, placed by hand,
one by one. And the resulting application can be just as fragile as the wall of pebbles.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


10

Sure, this may be intellectually appealing but it far from an efficient way to build a mission-
critical business system. It simply takes too long to produce anything and delivers poor
productivity and stability.

To create a successful and stable business application, it’s in a CTO’s interest to minimize the
amount of code needed and keep the codebase as small as possible. The larger the
codebase, the longer it takes to introduce changes and the more inherent bugs.

The ease of writing code and the ease of changing existing code are closely related. It all
comes down to the quality of documentation, API design and the presence of well
documented best practices. Every library provides a different experience. Unfortunately, that
experience can often only be fully understood by implementing a proof of concept that
mimics your domain-specific business requirements.

Measurements of a good library are:

• The range of existing features


• Ease of customizing or configuring existing features


• Ease of integrating your own custom or 3rd party solutions


• Support

This last requirement is often ignored. When a library isn’t being actively developed or
supported, it’s virtually impossible to get bugs fixed. New features and enhancements are
out of the question.

This is commonly encountered when a new version of a web browser is released. Libraries
that are deeply embedded in the application may not be forward compatible...and never
will be! The only option is to spend time, money and valuable development resources
rewriting portions of your application, all the while grimacing because you realize you are
going to have to do this with every new release.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


11

The best way to protect yourself from this common occurrence is to have a good and a
modular architecture that minimizes direct dependencies between your code base and
libraries in use. When direct dependencies are kept to their minimum, you are decreasing
the amount of needed rewrite at the same.

Solution #2 - How Vaadin Reduces Both Short and Long-Term Costs

Vaadin reduces high unforeseen costs by simplifying the entire development process. Vaadin
components are proven, feature-rich, configurable and elegant. That means less time for
your team spent meticulously coding complex and complicated components or
frameworks.

Instead, developers are presented with a massive library of existing features that are easily
configured. Integrations with 3rd party tools are simple and straightforward through a
robust API. Also, developers can easily update and maintain a consistent look across the full
range of your applications with the theme engine.

Developers also enjoy the freedom to utilize only those parts of the platform most pertinent
for the application. Plus, your entire investment is protected by building on web standards.
The investment in your codebase is guaranteed for years to come. Vaadin delivers free
support for at least 5 years and commercial support after that freeing you to focus on
building business value.

Faster development cycles, less code to support, more functionality, all built on web
standards. What’s not to like?

CHALLENGE #3 - SECURITY ISSUES

One of the common and trickiest problems of web applications is security. Applications
expose multiple HTTP endpoints that make developers worry about client-side access and
security of their business-critical data. Client-side applications by nature are sent out to all
users. That is, a copy of your source code is shared publicly.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


12

Hackers study the client-side source code, identify possible vulnerabilities and hook into
your exposed HTTP endpoints. Naturally, security breaches can result in very costly fines and
undermine customer confidence.

As Gartner notes, “Over 70% of security vulnerabilities exist at the application layer, not the
network or system layer.” (Gartner, 2006)

Solution #3 - How Vaadin Virtually Eliminates Security Issues

Vaadin provides a minimal attack surface that allows developers to focus their efforts on
domain security. Only a minimal number of endpoints need to be secured.

Using the bidirectional communication channels provided by Vaadin ensures that all
commonly known security holes are taken care of, such as Cross Site Scripting (XSS) and
Cross-Site Request Forgery (CSRF). And since the communication logic is detached from
your own UI logic source code, new security fixes can be introduced by simply updating the
Vaadin libraries.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


13

Summary: What This


Means for Your
Organization
You now have a much better understanding of the challenges and costs associated with
building and deploying business applications.

But what does that mean for your business?

Here is a list of 5 clear benefits you can expect from developing with Vaadin.

1 - Lower TCO - Total Cost of Ownership

The first benefit is straightforward and very compelling. The simplicity and power of Vaadin
means you’re able to bring your business application to market at a fraction of the cost of
other development platforms. Over the life of the application, maintenance is significantly
simpler and less costly, especially when you consider the elimination of complete redesigns
due to component and library end-of-life issues.

Personnel and software, the two largest factors in any development project, will cost
significantly less in the short term and the long term, result in a lower total cost of
ownership. And best of all, this reduction in cost comes without compromise, enabling you
to deliver the best user experience possible.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


14

2 - Increased Velocity of Application Development

The second benefit is the sheer speed at which apps can be developed and deployed when
compared to alternative, diverse technology stack, approaches. Configure, theme and deliver
a fully functional business application in a fraction of the time that it takes today. Then go
back and add new features and entirely new functionality without hesitation.

Your team can refocus their energies on bringing new value to your business, not be
stamping out bugs and be dreading browser upgrades.

3 - Absence of Security Breaches

This benefit speaks for itself. The limited attack surface and the secure communications
mean a much safer experience for you and your customer. The confidence of your C-suite
and your customers can never be underestimated.

4 - Better User Experience

One of the most notable benefits of Vaadin is the improvement in the overall user
experience. It goes beyond just good looks. Vaadin apps are highly performant and reliable.
And we all know that a better UX makes for increased customer satisfaction and less
customer churn.

5 - Higher Developer Satisfaction

Finally, consider the benefits for your team. A simplified, streamlined, straightforward
development platform makes for happier developers and better retention. It also means less
time onboarding new developers and greater flexibility staffing projects. Developers can
freely collaborate on any part of the project rather than having to focus on on niche areas of
the development process.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


15

The Future of Business


Apps
Before concluding, we want to introduce a foundational new capability that is changing the
way companies are approaching website development - Progressive Web Apps (PWA).
Vaadin is now taking steps to provide a highly advanced, future-proof platform. One of the
most important ways we are doing this is through our Progressive Web App (PWA)
innovations.  

Progressive Web Apps are apps that use the latest web technologies and provide a user
experience that is reliable, fast and engaging. The apps load instantly and deliver a snappy
and smooth user experience. They are also installable on mobile devices and can re-engage
users with web push notifications. The proper utilization of PWA can increase engagement
with existing users and improve conversion from one-time visitors to frequent users.

Perhaps you have already read our guide covering the “10 Business App Trends that Every
CTO Must Know.” If not, one of the key trends we discussed is that PWA are quickly
overtaking native apps as the preferred business app format.

Here are a few important reasons why this shift is occurring and why Vaadin is putting
significant resources behind PWA.

3 REASONS WHY FORWARD THINKING BUSINESSES

ARE TURNING TO PWA

1 - Single Platform Development -

The current app market is split between multiple platforms. As you can imagine, this is less
than efficient when it comes to resource allocation. Companies often build and maintain
applications for iOS, Android, the web, and in some cases additional platforms as well.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


16

PWA allow you to develop one app and deploy it across multiple platforms. As we learned,
development cost is the most significant part of any business app project. PWA can
dramatically reduce the total cost of development, accelerate time to market and the
eliminate the cost associated with multiple platforms.

2 - Updating Is Much Easier -

Updating native apps means launching a new version of your app that users have to install.
In order to remedy a problem or provide additional functionality updates, your user has to
agree to install the new version of your app.

PWA operate like traditional web pages. When it comes to updating your PWA, you can do
so immediately and as often as needed without your users need to download a new app to
their device.  

3 - Barrier to Entry (Friction) Is Far Lower -

One of the most considerable problems with native apps is the high barrier to entry. Studies
show that at each step along this process (think: go to app store, find application, tap install,
enter a password, etc.), you only convert about 20% of your original audience.

With PWA your users aren't required to download anything before they use the app. The “buy
before you try” model of traditional native apps is reversed, allowing users to download your
app after they’ve used it.

© 2017 Vaadin Ltd. All rights reserved. vaadin.com


17

Next Steps
Hopefully, the benefits of choosing Vaadin as your development platform are clear. Now let’s
take the next step and learn more about your organization and upcoming development
projects. Contact our expert team for a free 30-minute assessment call to discover how
Vaadin can optimize your development and help keep your business relevant and
competitive for years to come.

Finland
Turku Headquarters US Office
Vaadin Ltd. Vaadin, Inc.
Ruukinkatu 2-4 226 Airport Parkway, Ste. 428,
20540 Turku San Jose, CA, 95110

Helsinki Office Germany Office


Kutomotie 16 Vaadin GmbH
PL 639 Boxhagener Str. 119
00380 Helsinki 10245 Berlin

vaadin.com

© 2017 Vaadin Ltd. All rights reserved. vaadin.com

You might also like