193 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
Reuse More Code With ThymeLeaf Layouts
Wed, Mar 22nd 2017 43
Introducing ThymeLeaf Fragments
Tue, Mar 21st 2017 62
Adding More Fake Data
Mon, Mar 20th 2017 170
Add The People By Location Page
Fri, Mar 17th 2017 116
Adding The People By Location Controller
Thu, Mar 16th 2017 103
Adding Locations Data To The UI
Wed, Mar 15th 2017 149
Checking Your Demo Data
Tue, Mar 14th 2017 51
Top 10
Adding More Fake Data
Mon, Mar 20th 2017 170
Adding Locations Data To The UI
Wed, Mar 15th 2017 149
Add The People By Location Page
Fri, Mar 17th 2017 116
Adding The People By Location Controller
Thu, Mar 16th 2017 103
Introducing ThymeLeaf Fragments
Tue, Mar 21st 2017 62
Checking Your Demo Data
Tue, Mar 14th 2017 51
Adding Some Demo Data
Mon, Mar 13th 2017 43
Reuse More Code With ThymeLeaf Layouts
Wed, Mar 22nd 2017 43
Adding Bootstrap To The Frontend
Fri, Mar 10th 2017 22
Putting It All Together
Wed, Feb 15th 2017 11


What language should I move to?
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious
Declan Lynch    

I really thought that this would be a simple question. The answer is obviously Java. We have Java skills from using XPages so it just makes sense to answer this question with Java…

Except then you look at the java world and realize that there are different flavors of Java, you have standard plain Java, you have JavaEE and then there is the Spring ecosystem. You might even think about Scala, Kotlin or even Groovy with Grails as java based frameworks to pick from.

However, before you even answer the question another one will pop up and that is what sort of applications are you going to be building? Will you be building big monolithic applications where all the code for the entire application is in one big code-base or are you going to look at the much more popular microservice approach to building applications? This is where you have a bunch of small applications that each do a unique task or function.

The microservice approach seems to be the most recommended method of writing new applications and may also be a good solution if you are going to convert an old Domino application as you probably know the old application inside out and can easily break it down in to a set of microservices.

One big advantage of selecting the microservice approach is that you are no longer tied to any particular language for your backend code, sure you might write most of your services in Java but if you wanted to you could also write some in .Net, C++, GoLang, Python, Ruby etc. etc. Each microservice is an independent entity and they don’t care what language any other service it talks to has been written in as long as they can both speak to each other via REST. This opens up a lot more doors for your development team…

For our development we are going to be using the Spring Boot framework for the majority of our backend services. The Spring Boot framework makes it very easy to create REST services and can be packaged up in to self-contained jars.

Of course that is just the backend…



---------------------
http://www.qtzar.com/what-language-should-i-move-to/
Feb 01, 2017
10 hits



Recent Blog Posts
43
Reuse More Code With ThymeLeaf Layouts
Wed, Mar 22nd 2017 12:30p   Declan Lynch
As you saw in the last entry you can use ThymeLeaf Fragments to split out reusable parts of your html pages so that you can just drop them in where needed just like Custom Controls in XPages. Another great XPage concept was using a Custom Control to design the main layout of your page and then drop the content for the page that you are displaying in to a facet on that custom control. With an add-on to ThymeLeaf, which is automatically supplied when using ThymeLeaf with SpringBoot, this is also e
62
Introducing ThymeLeaf Fragments
Tue, Mar 21st 2017 12:30p   Declan Lynch
When I created my people by location page I just copied the entire home page of the application. I now want to make a few changes to the side navigator but if I leave things as they are now I would have to make those changes in all pages that share the side navigator. In the XPages world we had custom controls which¬†could be used to break your page in to separate components and ThymeLeaf has a similar concept called Fragments. Under my templates folder I’m going to create a new folder cal
170
Adding More Fake Data
Mon, Mar 20th 2017 12:30p   Declan Lynch
In the last entry we added our new People By Location page and when we looked at in the the browser is was fairly empty apart from the one test user. Not very easy to do any proper testing with just one entry. You COULD if you wanted add a bunch more test users manually but what if you wanted to test with a few thousand users, that would be a lot of copy/pasting. Thankfully there is an easier way using a Data Faker. First I need to add a new dependency to my pom file for the JavaFaker project o
116
Add The People By Location Page
Fri, Mar 17th 2017 12:30p   Declan Lynch
Now that the controller is created and has been committed to our source control it is time to create the page that is associated with it. I’ve started by copying the home.html page to it’s own file called location.html (to match the string returned by the controller in the last entry). I’ll break this in to components in a later part but for now a quick copy is all I need to get the exact same layout as the home page. For the list of peoples details I’ve decided to use Da
103
Adding The People By Location Controller
Thu, Mar 16th 2017 12:30p   Declan Lynch
Now that we have the main landing page of the application created it is time to build our next page. To start the process of I have gone to VSTS and dragged the ‘See All Staff In A Single Location’ story over to the Active column. I can now return to IntelliJ and start building my next controller. I’m going to add a new controller class to the application called LocationController. Don;t forget to annotate the called with the @Controller annotation so that Spring MVC will pick
149
Adding Locations Data To The UI
Wed, Mar 15th 2017 12:30p   Declan Lynch
Now that we have our demo data and we have confirmed that it exists when we start the application it is time to add it to the Thymeleaf based UI. First we need to add it to the data model that is used when the page is rendered. If we return to our HomeController class we need to make a couple of changes. First we need to get access to the LocationRepository bean. We do this by adding an Autowired reference the bean using the same method that we did when building the demo data. Then we need to ad
51
Checking Your Demo Data
Tue, Mar 14th 2017 6:30p   Declan Lynch
Now that we have the demo data how do we know that it is actually working and getting in to the database. It would be rather pointless trying to add the data to the UI if there is no data to add. If you are using a persistent datasource then you can just use whatever databases tools you normally use to check the tables, but in our case we are using an in-memory database that disappears when the application is exited. Thankfully, however, the H2 in-memory database does have an admin console and S
43
Adding Some Demo Data
Mon, Mar 13th 2017 12:30p   Declan Lynch
Before we can start displaying data in our application we need to add some demo data. You could point the data source to be an external persistent data source that contains test data instead of using an in-memory data source that is lost each time to stop the application or you could load up the in-memory data source with demo data each time the application is started by using either a sql file containing statements to add the data or by writing a script that runs when the application starts th
22
Adding Bootstrap To The Frontend
Fri, Mar 10th 2017 1:30p   Declan Lynch
Web applications need more than just html. You also need CSS, JavaScript, Images maybe even Fonts. All of these can be added to the resources/static folder in your SpringBoot application. Here I have added a phonebook.css file that will hold the custom css needed for my application. And then you can reference them in your html file. If you look carefully you will notice that there are TWO references to my phonebook.css file. The first is a normal href and it points to a path relative to where
11
Starting The Frontend
Thu, Mar 9th 2017 1:30p   Declan Lynch
For the frontend we are going to be using Thymeleaf. When you add Thymeleaf to your project using the spring-boot-thymeleaf-starter you will get support for both Thymeleaf V2.x and Thymeleaf V3.x. By default the V2.x support is activated by the starter but if you want to use V3.x then you can easily add some properties to your pom.xml file. I want to use V3… Once you have updated the pom.xml file it it time to create the applications first page. This is done in the resources/templates fol




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition