Skip to content

Commit

Permalink
Merge branch 'master' into bug-devonfw#568-sortedset
Browse files Browse the repository at this point in the history
  • Loading branch information
hohwille authored Dec 8, 2022
2 parents 83483b4 + 00562cc commit 7594803
Show file tree
Hide file tree
Showing 110 changed files with 1,489 additions and 14 deletions.
59 changes: 59 additions & 0 deletions .github/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Configuration for probot-stale - https://github.com/probot/stale

# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 30

# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 7

# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
onlyLabels: []

# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- dependencies

# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false

# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: false

# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: false

# Label to use when marking as stale
staleLabel: wontfix

# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.

# Comment to post when closing a stale Issue or Pull Request.
# closeComment: >
# Your comment here.

# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30

# Limit to only `issues` or `pulls`
# only: issues

# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
# pulls:
# daysUntilStale: 30
# markComment: >
# This pull request has been automatically marked as stale because it has not had
# recent activity. It will be closed if no further activity occurs. Thank you
# for your contributions.

# issues:
# exemptLabels:
# - confirmed
2 changes: 2 additions & 0 deletions documentation/12-factor-app-devon4j.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ toc::[]

= 12-factor-app with devon4j

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

This document mainly focuses on discussing how can you create 12 factor app with devon4j. To know more about this 12 factors you can refer https://12factor.net/[here] . Twelve factor is mainly focus on creating cloud native applications. These are the guidelines on what factors you need to consider in different stages of application lifecycle.


Expand Down
4 changes: 4 additions & 0 deletions documentation/Home.asciidoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
= devonfw for Java (devon4j)

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

Welcome to the Java edition of devonfw. devon4j is documented by a platform guide (see the side-bar of this wiki) to be used in your projects.

You will find the latest stable versions of documents generated from this wiki here:
Expand All @@ -8,4 +10,6 @@ You will find the latest stable versions of documents generated from this wiki h
If you want to search the wiki you might want to try https://github.com/linyows/github-wiki-search[github-wiki-search].
== For contributors

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].
Contributions and improvements to devonfw are more than welcome. Please read our https://github.com/devonfw/.github/blob/master/CONTRIBUTING.asciidoc#contributing[contributing guide] to get started.
20 changes: 20 additions & 0 deletions documentation/Spring-native-vs-Quarkus.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ toc::[]

= Spring Native vs Quarkus

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

Nowadays, it is very common to write an application and deploy it to a cloud.
Serverless computing and Function-as-a-Service (FaaS) have become
very popular.
Expand All @@ -12,6 +14,8 @@ https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/#overview

== Quarkus

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

Quarkus is a full-stack, Kubernetes-native Java framework made for JVMs. With its container-first-philosophy and its native compilation with GraalVM, Quarkus optimizes Java for containers with low memory usage and fast startup times.

Quarkus achieves this in the following ways:
Expand All @@ -33,10 +37,16 @@ This gives Quarkus the potential for a great platform for serverless cloud and K

== Spring Native

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

====
WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].
*The current version of Spring Native 0.10.5 is designed to be used with Spring Boot 2.5.6*
====

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

Like Quarkus, Spring Native provides support for compiling Spring applications to native executables using the GraalVM native-image compiler deisgned to be packaged in lightweight containers.

Spring Native is composed of the following modules:
Expand All @@ -61,6 +71,8 @@ Spring Native is composed of the following modules:

== Native compilation with GraalVM

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

Quarkus and Spring Native both use GraalVM for native compilation. Using a native image provides some key advantages, such as instant startup, instant peak performance, and reduced memory consumption. However, there are also some drawbacks: Creating a native image is a heavy process that is slower than a regular application. A native image also has fewer runtime optimizations after its warmup. Furthermore, it is less mature than the JVM and comes with some different behaviors.

*Key characteristics:*
Expand All @@ -77,6 +89,8 @@ There are https://github.com/oracle/graal/blob/master/docs/reference-manual/nati

== Build time and start time for apps

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

[cols=",,",options="header",]
|===
|Framework |build time |start time
Expand All @@ -86,6 +100,8 @@ There are https://github.com/oracle/graal/blob/master/docs/reference-manual/nati

== Memory footprints

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

[cols=",",options="header",]
|===
|Framework |memory footprint
Expand All @@ -95,6 +111,8 @@ There are https://github.com/oracle/graal/blob/master/docs/reference-manual/nati

== Considering devonfw best practices

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

As of now, devonfw actively supports Spring but not Spring Native.
Although Quarkus has been released to a stable release in early 2021, it has been already used in multiple big projects successfully showing its potential to implement cloud native services with low resource consumption matching the needs of scalability and resilience in cloud native environments.
With major stakeholders behind the open source community like Red Hat, its development and growth from its kickoff to the current state is very impressive and really shows the market needs and focus.
Expand All @@ -107,6 +125,8 @@ Spring.

== General recommendations and conclusion

WARNING: Hey there! Seems like you are still using the documentation of our legacy Java repository. Since it won't be maintained anymore, we recommend you to checkout the new Java page https://devonfw.com/docs/java/current/[here].

Quarkus and Spring Native both have their own use cases. Under the consideration of the limitations of GraalVM to be used for native images built by Quarkus and Spring Native, there is a strong recommendation towards Quarkus from devonfw.
One essential differentiation has to be made on the decision for native or against native applications - the foreseen performance optimization of the JIT compiler of the JVM, which is not available anymore in a native image deployment.
For sure, both component frameworks will also run on a JVM getting advantage again from JIT compilation, but depending on the overall landscape then, it is recommended to stay with the knowledge of the available teams, e.g. continue making use of devon4j based on spring or even if already in that state also here make use of Quarkus on JVM.
Loading

0 comments on commit 7594803

Please sign in to comment.