Forever Young and Building Mobile Apps with Java--airhacks.fm Podcast

The #61 airhacks.fm episode with Anton Epple (@monacotoni) about:

DNA, the science of staying young, HTML 5 with Java, Java on mobile devices and native widgets binding with the award winning dukescript.
is available for download.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

MicroProfile: Examples, Tutorials, Guides, APIs, Projects and Resources

Official website:
microprofile.io
The very first MicroProfile pom.xml
start.microprofile.io
Spec overview
https://projects.eclipse.org/projects/technology.microprofile
MicroProfile Latest Spec (APIs)
latest release and Maven coordinates
MicroProfile blog
https://microprofile.io/blog/
OpenLiberty Guides
~30 MicroProfile related-guides, from REST and Angular, over Docker, Kubernetes Clouds and MicroProfile JavaDoc
Project overview with links to sources (github)
microprofile.io/projects/
Helidon MicroProfile Guides
MicroProfile specific guides, from tracing over metrics to health
Payara
MicroProfile blog
Quarkus
MicroProfile guides
Thorntail documentation
MicroProfile documentation
Apache TomEE
MicroProfile examples
kumuluzEE
MicroProfile examples
Meecrowave
MicroProfile documentation
SmallRye
Overview over SmallRye projects. Tutorials are partially available (e.g. Reactive Messaging)
Github
List of MicroProfile projects
@rieckpil's "Getting started with Eclipse MicroProfile"
examples and screencasts
Also checkout the MicroProfile runtimes overview.

Most of the MicroProfile runtimes also support Jakarta EE out-of-the-box. Checkout: Jakarta EE: Links and Resources.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Jakarta EE Big Bang, Quarkus Secrets, OKD, Kubernetes, OpenShift, JavaScript i18n, MicroProfile and Monoliths--the 68th airhacks.tv

The 68th airhacks.tv episode covering:

"Jakarta EE Big Bang migration, what is quarkus, quarkus and secret management, internationalisation in JavaScript without dependencies, keeping Microservices consistent, HTTP vs. executor threads, to mvn clean or not to mvn clean, Kubernetes vs. OKD vs. OpenShift vs Docker, added value of MicroProfile in a monolith, frontends for quarkus"

...is available:

Any questions left? Ask now: https://gist.github.com/AdamBien/46045e87888329caa3f8c29b2d56f3ea and get the answers at the next airhacks.tv.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Java EE, Jakarta EE, MIcroProfile and the Big Bang Migration--airhacks.fm Podcast

The #60 airhacks.fm episode with Kevin Sutter (@kwsutter) about:

the early WebSphere times, JCA, Java EE, Jakarta EE, MicroProfile, the Big Bang "javax" to "jakarta" migration and thoughts on SOAP deprecation
is available for download.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Simplest Possible Internationalization with Vanilla JavaScript

DOM elements (li) with language-dependent text are going to be marked with the data-i18 data attributes (or any attribute of your choice):


<ol>
    <li data-i18n>over</li>
    <li data-i18n>under</li>
    <li>duke</li>
</ol>

The internationalized values are maintained in a JavaScript object, which could be loaded from server with fetch as JSON:

const germanConfig = {
    under: "unter",
    over: "ueber"
}

Now the querySelectorAll function can be used to locate DOM elements with language-specific text contents:

const elements = document.querySelectorAll("[data-i18n]");    
...and replaced with the following function:

const replaceText = (el) => { 
    const key = el.innerText;
    el.innerText = germanConfig[key] || key;
}    
elements.forEach(el => replaceText(el));

See it in action and "from scratch":

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Jakarta EE Big Bang, Quarkus, Secrets, Internationalisation, Consistency, Threads, mvn clean, Kubernetes, OKD, Docker--or 68th airhacks.tv

Topics (https://gist.github.com/AdamBien/2735e9c8845fe1eba40720281d9c2c09) for the 68th airhacks.tv episode:

  1. Conference (EclipseCon, ijs, JUGs) reports
  2. Jakarta EE Big Bang approach
  3. New wad.sh release
  4. What is Quarkus? Is it worth to learn it?
  5. Secret management in MicroProfile
  6. Internationalisation and WebComponents
  7. Consistency and MicroServices
  8. The difference between http threads and executor threads
  9. Why an application should not create threads?
  10. To mvn clean or not to clean
  11. Docker vs Kubernetes vs. OKD/OpenShift
Any questions left? Ask now: https://gist.github.com/AdamBien/2735e9c8845fe1eba40720281d9c2c09 and get the answers at the next airhacks.tv.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Dynamic Imports with JavaScript

With the function-like dynamic import() statement:


const lazy = async _ => { 

    const module = await import("./LazyContent.js");
    console.log("const", module.msg);
    console.log("function", module.message());
    const lazyClass = new module.default;
    console.log('class', lazyClass.message());

} 
lazy();

you can load on-demand previously exported classes, functions or primitives:

export default class LazyClass{ 
    message(){ 
        return "lazy today";
    }
}

const msg = "good morning";

const message = _ => { 
    return "hello world";
}

export { msg, message}    

See it in action and from scratch:

A dynamic import was used in the effectiveweb.training to build a hash-based router.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

MicroProfile REST Client for System Testing

MicroProfile REST client provides an alternative to plain JAX-RS client for writing System Tests. A given HTTP endpoint (it doesn't have to be a JAX-RS resource) has to be defined as a Java interface first:


@Path("/")
public interface AirhacksWorkshop {
    @GET
    String websiteContent();
}

The URI of the service is passed to the RestClientBuilder as parameter, as well as the (AirhacksWorkshop) interface:

package com.airhacks;

import org.eclipse.microprofile.rest.client.RestClientBuilder;
import (...)
public class WorkshopsTests {

    private AirhacksWorkshop workshop;

    @Before
    public void init() throws MalformedURLException {
        URL apiUrl = new URL("http://airhacks.com");
        this.workshop
                = RestClientBuilder
                        .newBuilder()
                        .baseUrl(apiUrl)
                        .build(AirhacksWorkshop.class);
    }

    @Test
    public void content() {
        String content = this.workshop.websiteContent();
        assertNotNull(content);
        assertThat(content, containsString("java"));
    }
}

A System Test is executed within a JUnit runtime and needs the implementation of the MicroProfile REST Client API:


<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-client-microprofile</artifactId>
    <version>4.3.0.Final</version>
</dependency>

Currently there are Apache CXF, OpenLiberty, Thorntail and RESTEasy (used above) implementations available.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Blockchain, Heavy Metal, Docker and Testcontainers--airhacks.fm Podcast

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #59 airhacks.fm episode with Kevin Wittek (@kiview) about:

Blockchain, Heavy Metal, Docker and Testcontainers
is available for download.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Watch and Deploy (WAD) 0.1.1 "the substitutor" is available

Watch and Deploy (wad.jar) version 0.1.1 was released.

The path to the deployment directories configured in ~/.wadrc can contain now placeholders which are substituted by environment variables. Now server "HOME"s can be used as the path, e.g.:


${LIBERTY_HOME}/usr/servers/defaultServer/dropins
${WILDFLY_HOME}/standalone/deployments
${PAYARA_HOME}/glassfish/domains/domain1/autodeploy
${TOMEE_HOME}/webapps

wad.sh works best with conventional ThinWARs.

See you at Web, MicroProfile and Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Online Workshops
realworldpatterns.com
...the last 150 posts
...the last 10 comments
License