diff --git a/README.md b/README.md index 6cb479551d6..0b76586f6cb 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,20 @@ The UI ships with your app, so you control its components and theme. Native interfaces and peer components give you access to platform SDKs and views. The framework is GPLv2 with the Classpath Exception: free for commercial applications, with no royalties. +## Start with a complete full-stack application + +Generate a complete application from Initializr, then make it your own. These templates include the Java client, backend, database and administration screens, with guides for running and customizing them. The template source is free under MIT-0. + +| [Savor — Food delivery](https://www.codenameone.com/savor/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=savor) | [Parley — Private messaging](https://www.codenameone.com/parley/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=parley) | +| --- | --- | +| Savor restaurant browsing screen

Customer, restaurant, courier and admin screens, with a Java backend for ordering, dispatch, tracking and payments. | Parley conversations screen

Chats, groups, voice and video calls, with a Java backend and an administration console. | + +| [Wayline — Ride hailing](https://www.codenameone.com/wayline/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=wayline) | [Skirmish — Multiplayer strategy](https://www.codenameone.com/skirmish/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=skirmish) | +| --- | --- | +| Wayline rider map and destination screen

Rider, driver and admin screens, with a Java backend for matching, live trips, earnings and payments. | Skirmish live battle screen

Online battles, replays and progression, with a Java game server and a moderation console. | + +[Generate your application](https://www.codenameone.com/initializr/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=template-start) · [Explore the complete templates](https://www.codenameone.com/demos/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=fullstack-samples) + | What do you want to build? | Start here | | --- | --- | | A new Java app | [Generate a project](https://www.codenameone.com/initializr/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=app-start) or [try the browser playground](https://www.codenameone.com/playground/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=playground) | @@ -21,7 +35,7 @@ The UI ships with your app, so you control its components and theme. Native inte | An app and its backend | [Share models and generated REST clients](https://www.codenameone.com/blog/java-backend-shared-models/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=shared-models) | | An existing Android app on more platforms | [Import classic Android application code](https://www.codenameone.com/developer-guide/android-interop/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=android-import), including activities, XML layouts and resources | | Existing Flutter screens | [Compile supported Dart and Flutter code to Java](https://www.codenameone.com/developer-guide/flutter-interop/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=flutter-import); experimental compatibility, with interaction limits documented in the guide | -| A full-stack example to run | [Explore Wayline](https://www.codenameone.com/developer-guide/wayline-implementors-guide/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=wayline): a ride-hailing sample with rider, driver and admin screens, shared Java models and a backend; available as an Initializr template | +| A complete full-stack application | [Choose a template](#start-with-a-complete-full-stack-application): food delivery, messaging, ride hailing or multiplayer strategy | | Evidence before adopting | [Compare performance](#measured-performance) and [inspect platform support](https://www.codenameone.com/port-status/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=platforms) | ### A backend that compiles the wiring into your application @@ -40,6 +54,8 @@ Import an Android Studio module with `cn1:import-android-project`, or place its The application runs through Codename One's ports without an Android runtime on the other platforms. This supports the documented classic Android API surface, not every Android library or framework behavior. Check the [supported APIs, side-by-side captures and limitations](https://www.codenameone.com/developer-guide/android-interop/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=android-coverage), particularly reflection, Parcel and SQLite concurrency, against your application's screens and data flows. +Experimental compatibility also covers [supported Unity 2D projects](https://www.codenameone.com/developer-guide/unity-interop/?utm_source=github&utm_medium=oss&utm_campaign=repo-readme&utm_content=unity-import). Check the documented API limits before porting; 3D rendering is outside this compatibility layer. + ### Measured performance These are published reference measurements, not a promise about every application. Each comparison uses a different workload; follow the links for hardware, commands and raw results. diff --git a/docs/website/assets/css/extended/zz-cn1-design-system.css b/docs/website/assets/css/extended/zz-cn1-design-system.css index 52f38455bd7..ad7d010cd9e 100644 --- a/docs/website/assets/css/extended/zz-cn1-design-system.css +++ b/docs/website/assets/css/extended/zz-cn1-design-system.css @@ -1767,3 +1767,22 @@ body.dark .cn1-footer-logo { .cn1-home-platforms .cn1-platform-grid li { padding: 16px; } .cn1-home-platforms .cn1-platform-grid strong { font-size: 17px; } } + +/* Complete application templates on the homepage. */ +.cn1-home-templates__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } +.cn1-home-template { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); align-items: center; overflow: hidden; border: 1px solid var(--cn1-border); border-radius: var(--cn1-radius); background: var(--cn1-surface); } +.cn1-home-template__screen { display: flex; align-items: center; justify-content: center; align-self: stretch; padding: 24px; background: linear-gradient(145deg, #202b4b, #293956); } +.cn1-home-template__screen img { display: block; width: 100%; max-width: 210px; height: auto; border-radius: 12px; box-shadow: 0 10px 24px #0004; } +.cn1-home-template__body { min-width: 0; padding: 24px; } +.cn1-home-template__body h3 { margin: 6px 0 16px; font-size: 30px; } +.cn1-home-template__body > p:not(.cn1-eyebrow) { color: var(--cn1-muted); line-height: 1.65; } +.cn1-home-template__body > a { display: inline-block; margin-top: 18px; text-decoration: underline; text-underline-offset: 4px; } +@media (max-width: 800px) { + .cn1-home-templates__grid { grid-template-columns: 1fr; } +} +@media (max-width: 480px) { + .cn1-home-template { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr); } + .cn1-home-template__screen { padding: 12px; } + .cn1-home-template__body { padding: 18px 14px; } + .cn1-home-template__body h3 { font-size: 26px; } +} diff --git a/docs/website/layouts/index.html b/docs/website/layouts/index.html index 8ca3a66cf04..454aa05d1ae 100644 --- a/docs/website/layouts/index.html +++ b/docs/website/layouts/index.html @@ -44,6 +44,64 @@

Full-stack Java.
Compiled to native.

{{ partial "cn1-proof-strip.html" . }} +
+
+

Complete full-stack templates

+

Start with an application. Make it yours.

+

Generate the Java client, backend, database and administration screens in one project. Run it, change the branding and build on the features already connected. Template source is free under MIT-0.

+
+ {{ partial "cn1-cta.html" (dict "label" "Generate your application" "href" "/initializr/" "event" "home-template-start") }} + {{ partial "cn1-cta.html" (dict "label" "Explore all templates" "href" "/demos/" "event" "home-fullstack-samples" "variant" "secondary") }} +
+
+
+
+ + Savor restaurant browsing screen + +
+

Food delivery

+

Savor

+

Customer, restaurant, courier and admin screens, with a Java backend for ordering, dispatch, tracking and payments.

+ Explore Savor → +
+
+
+ + Parley conversations screen + +
+

Private messaging

+

Parley

+

Chats, groups, voice and video calls, with a Java backend and an administration console.

+ Explore Parley → +
+
+
+ + Wayline rider map and destination screen + +
+

Ride hailing

+

Wayline

+

Rider, driver and admin screens, with a Java backend for matching, live trips, earnings and payments.

+ Explore Wayline → +
+
+
+ + Skirmish live battle screen + +
+

Multiplayer strategy

+

Skirmish

+

Online battles, replays and progression, with a Java game server and a moderation console.

+ Explore Skirmish → +
+
+
+
+

Choose your starting point

@@ -74,7 +132,7 @@

Your Android app on more platforms

Bring Java or Kotlin activities, XML layouts and resources to iOS, desktop and the web.

Check your dependencies against the supported Android and AndroidX APIs.

Explore Android compatibility → -

Also explore experimental Flutter compatibility. Some callbacks and parameters are not implemented.

+

Experimental imports: Flutter screens and Unity 2D games. Check the documented API and behavior limits before porting.