The Artima Developer Community
Sponsored Link

Java Buzz Forum
Flexibility brought to you by P, W, and A!

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
dion

Posts: 5028
Nickname: dion
Registered: Feb, 2003

Dion Almaer is the Editor-in-Chief for TheServerSide.com, and is an enterprise Java evangelist
Flexibility brought to you by P, W, and A! Posted: Jan 19, 2017 8:33 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by dion.
Original Post: Flexibility brought to you by P, W, and A!
Feed Title: techno.blog(Dion)
Feed URL: http://feeds.feedburner.com/dion
Feed Description: blogging about life the universe and everything tech
Latest Java Buzz Posts
Latest Java Buzz Posts by dion
Latest Posts From techno.blog(Dion)

Advertisement

As I reflect on 2016, one of the highlights was working with companies who were reinvesting in the Web. I got to hear a lot of stories about their business and their technology stacks as they wrestled through how to get from here to there. It is one thing to understand that there are exciting new capabilities, but the reality is that websites are at varied stages of evolutions and there are practical constraints to work through.

You can look at this in a negative way, but you can also recognize that this is often a good problem to have. Dealing with a legacy system that runs a substantial business is a good problem indeed. It is vital to take care as you change a ship that is on an important journey, but fortunately the Web is very well suited to the job. Thanks to the loose architecture of URLs coupled with the fact that you can ship down code at will means that the logical representation of the business is very much abstracted from the physical.

Evolving your experience is similar to evolving your codebase. You make many choices that have trade offs. For example, at companies such as Google they have often taken an interesting approach of keeping One Large Codebase where everyone works as close to master as possible. What happens if you are are all evolving the same codebase together? It means that if you fix a bug in your SSL library it can be rolled out to all of your services in record time. It also means that you need to be vigilant at keeping up to date all the time, with is definitely a tax, especially if you don’t have tools to handle this.

In general it is good practice to have a strong master. I often look at the source tree and map it to a real tree. You want a strong trunk that is always growing enough to handle the branches that come off of it. You don’t want the opposite, a weak trunk with heavy branches that eventually makes the tree fall over.

How do you keep complexity down, and try to make sure that person A isn’t causing problems for person B in another part of the codebase?

One solution is small modules that can be easily composed. We see this in areas such as UNIX, node, and React. The key is the composition of the pieces, which is different to separate units that can’t be reused. Composition not solely isolation.

Native has been around long enough now that all of this has come up too. How do you handle a large codebase? What about once you have multiple apps? What do you want to share between them? There are many techniques to help here, but none are quite as flexible as the URL + Web delivery.

Speaking of which, let’s get back to evolving your Web app in 2017

After talking to many developers and companies, three patterns emerged for the journey, and I will force them into the same acronym as the latest Web revolution itself, just to be confusing:

Piece

Take one user journey, or sub-site, and make it a PWA. For example, Air Berlin did this by creating a post-purchase experience that keeps your boarding pass offline and ready for you. This then feels like a mini app, akin to early mobile apps that focus on one use case and do a good job. One of the under-explored areas of PWAs is the fact that you can mint them in any way that makes sense for your service. For example, HBO could have an overarching app for their service, but you could also choose to just have a launcher into a particular show, all in a natural way that doesn’t need multiple entries in a store if not desired.

Whole

You could take on the whole enchilada. This is ideal if you are looking to do a re-think of your experience any way. Let’s say that you haven’t done that responsive design re-do yet and have separate “mobile” and “desktop” sites? Maybe you were thinking about trying one of those shiny new frameworks that you were hearing about? Maybe your product and design team were feeling the itch anyway? Well, the water has never been warmer. If you have the buy off from the business to do this you can look at rolling out a spanking clean, offline first, super fast reliable experience that works progressively. You lucky pup!

API

Maybe there is a particular new capability that would be impactful for your business. A PM comes running in with a glint in their eye as they tell you how fantastic it would be to bump up re-engagement via push notifications. This is exactly where The Weather Channel started their journey. Once you get the infrastructure in place (e.g. make sure to get onto https) you can add a feature like push without large changes to the web app.

There are many ways to skin the cat, to start your journey to an ideal web experience, and as always, the key is to get started.


Flexibility brought to you by P, W, and A! was originally published in Ben and Dion on Medium, where people are continuing the conversation by highlighting and responding to this story.

Read: Flexibility brought to you by P, W, and A!

Topic: Java Tutorial: Java Threads (How to check Thread group is the parent of another thread group) Previous Topic   Next Topic Topic: The undying death of JEE – Gartner, app servers, and cloud native – Pivotal Conversation

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use