๐Ÿ“ฆ apache / grails-website

๐Ÿ“„ index.html ยท 336 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336<!DOCTYPE html>
<html>
<head>
    <title>Apache Grails&reg; Framework</title>
    <meta name="keywords" content="grails,jvm,framework,groovy,gradle,spring-boot,gorm"/>
    <meta name="description" content="A powerful Groovy-based web application framework for the JVM built on top of Spring Boot"/>
    <meta name="date" content="January 21, 2026"/>
    <meta name="robots" content="all"/>
    <link rel="alternate" type="application/rss+xml" title="RSS" href="https://grails.apache.org/rss.xml"/>
    <meta charset='UTF-8'/>
    <link rel='icon' href='https://grails.apache.org/images/favicon.ico'/>
    <meta name='twitter:card' content='summary_large_image'/>
    <meta name='twitter:site' content='@grailsframework'/>
    <meta name='twitter:description' content='A powerful Groovy-based web application framework for the JVM built on top of Spring Boot'/>
    <meta name='twitter:creator' content='@grailsframework'/>
    <meta property='og:image' content='https://grails.apache.org/images/grails.png'/>
    <meta property='og:image:width' content='300'/>
    <meta property='og:image:height' content='300'/>
    <meta property='og:url' content='https://grails.apache.org'/>
    <meta property='og:title' content='Apache Grails&reg; Framework'/>
    <meta property='og:description' content='A powerful Groovy-based web application framework for the JVM built on top of Spring Boot'/>
    <meta property='og:type' content='website'/>

    <meta name='viewport' content='width=device-width, initial-scale=1'/>
    <link rel='mask-icon' href='https://grails.apache.org/images/grails-pinned-icon.svg' color='feb672'/>
    <link rel='stylesheet' href='https://grails.apache.org/stylesheets/screen.css'/>
    <link rel='stylesheet' href='https://grails.apache.org/stylesheets/plugin.css'/>
    <link rel='stylesheet' href='https://grails.apache.org/stylesheets/paginate.css'/>
    <script src='https://grails.apache.org/javascripts/navigation.js'></script>
    <script src='https://grails.apache.org/javascripts/paginate.js'></script>
    
    
    
    <script src='https://grails.apache.org/javascripts/plugins.js'></script>

    <!-- Matomo -->
    <script>
      var _paq = window._paq = window._paq || [];
      /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
      _paq.push(["setDoNotTrack", true]);
      _paq.push(["disableCookies"]);
      _paq.push(['trackPageView']);
      _paq.push(['enableLinkTracking']);
      (function() {
        var u="https://analytics.apache.org/";
        _paq.push(['setTrackerUrl', u+'matomo.php']);
        _paq.push(['setSiteId', '79']);
        var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
      })();
    </script>
    <!-- End Matomo Code -->

    <script
        async
        src="https://widget.kapa.ai/kapa-widget.bundle.js"
        data-website-id="d804a9f2-51a2-414c-97f7-12f2a1ba4609"
        data-project-name="Apache Grails"
        data-project-color="#3F4346"
        data-font-family="system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,Segoe UI,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;"
        data-project-logo="https://grails.apache.org/images/grails.png"
        data-modal-override-open-id="ask-ai-input"
        data-modal-override-open-class="search-input"
        data-user-analytics-fingerprint-enabled="true"
        data-modal-title="Apache Grails AI Assistant"
        data-modal-example-questions-title="Try asking me..."
        data-modal-disclaimer="This is a custom LLM for Apache Grails using [documentation](https://docs.grails.org/latest/), [groovy documentation](https://docs.groovy-lang.org/docs/groovy-4.0.28/html/documentation/) [github issues](https://github.com/apache/grails-core/issues) and more.

Companies deploy assistants like this [](https://kapa.ai) on docs via [website widget](https://docs.kapa.ai/integrations/website-widget) (Docker, Reddit), in [support forms](https://docs.kapa.ai/integrations/support-form-deflector) for ticket deflection (Monday.com, Mapbox), or as [an internal assistant](https://docs.kapa.ai/integrations/internal-assistant) with access to private sources."
        data-modal-example-questions="How does database migration work?,How does Spring Security work?"
        data-button-text-color="#FBB576"
        data-modal-header-bg-color="#FFFFFF"
        data-modal-title-color="#FBB576"
        data-consent-required="true"
        data-consent-screen-disclaimer="By clicking &quot;I agree, let&#39;s chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai&#39;s [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google&#39;s [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai&#39;s and Google&#39;s privacy policies.">
    ></script>
</head>
<body class='home'>
<header class='mainheader'>
    <div class='content'>
        <a href='https://grails.apache.org/index.html'><img class='grailslogo' src='https://grails.apache.org/images/grails_logo.svg' alt='Grails Logo'/></a>
        <a href='javascript:show(&apos;topmenus&apos;, &apos;showNavigationLink&apos;)' id='showNavigationLink'
           class='mobile align-center'>Show Navigation</a>
        <div id='topmenus'>
            <nav class='secondarymenu' id='secondarymenu'>
                <ul>
                    <li><a href='https://grails.apache.org/casestudies/index.html'>Case Studies</a></li>
                    <li><a href='https://grails.apache.org/blog/index.html'>Blog</a></li>
                    <li><a href='https://grails.apache.org/learning.html'>Learning</a></li>
                    <li><a href='https://grails.apache.org/community.html'>Community</a></li>
                    <li><a href='https://grails.apache.org/search.html'>Search</a></li>
                </ul>
            </nav>
            <nav class='mainmenu' id='mainmenu'>
                <ul>
                    <li><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
                    <li><a href='https://grails.apache.org/download.html'>Download</a></li>
                    <li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
                    <li><a href='https://guides.grails.org/index.html'>Guides</a></li>
                    <li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
                    <li><a href='https://grails.apache.org/support.html'>Support</a></li>
                    <li><a href='https://start.grails.org'>Forge App</a></li>
                </ul>
            </nav>
        </div>
    </div>
</header>
<article><div class="homebar">
    <div class="content">
        <h1>A powerful Groovy-based web application framework for the JVM built on top of Spring Boot</h1>
        <div class="get-started-row">
            <div class="calltoaction">
                <h2>
                    <a href="https://start.grails.org/">
                        <span class="version">Get Started</span>
                    </a>
                </h2>
            </div>
        </div>
        <div class="calltoactions">
            <div class="calltoaction">
                <strong>Read the docs</strong>
                <h2>
                    <a href="https://grails.apache.org/docs/7.0.5/">Documentation
                        <span class="version">7.0.5</span>
                    </a>
                </h2>
                <a class="allversions" href="https://grails.apache.org/documentation.html">browse all versions</a>
            </div>
            <div class="calltoaction">
                <strong>Get the latest version</strong>
                <h2>
                    <a
                        href="https://www.apache.org/dyn/closer.lua/grails/core/7.0.5/distribution/apache-grails-7.0.5-bin.zip?action=download">Download
                        <span class="version">7.0.5</span>
                    </a>
                </h2>
                <a class="allversions" href="https://grails.apache.org/download.html">browse all versions</a>
            </div>
        </div>
        <div class="get-started-row">
            <div class="calltoaction">
                <span class="allversions">NOTE: Versions prior to 7.0.0-M4 are not ASF releases. Links to those releases
                    are provided here as a convenience.</span>
            </div>
        </div>
    </div>
</div>
<article id="features">
    <div class="content">
        <div class="threecolumns">
            <div class="column">
                <img src="https://grails.apache.org/images/flatlearningcurve.png" alt="Flat Learning Curve">
                <h3>Flat Learning Curve</h3>
                <p>Convention-over-configuration, sensible defaults, opinionated APIs, and the Groovy language combine
                    to make the Grails<sup>&reg;</sup> framework easy to learn for Java developers.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/springboot.svg" alt="Spring Boot">
                <h3>On top of Spring Boot</h3>
                <p>The Grails framework is built on top of Spring Boot and leverages Spring Boot's time-saving features,
                    such as Spring-powered dependency injection.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/java.png" alt="Smooth Java Integration">
                <h3>Smooth Java Integration</h3>
                <p>The Grails framework seamlessly and transparently integrates and interoperates with Java, the JVM,
                    and existing Java EE containers.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/groovy.png" alt="Groovy Programming Language">
                <h3>Groovy-Based</h3>
                <p>Apache Groovy is a language for the Java platform designed to enhance developers' productivity. It is
                    an optionally-typed and dynamic language but with static-typing and static compilation capabilities.
                </p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/gorm.png" alt="GORM - Data Access Toolkit">
                <h3>Seamless GORM Integration</h3>
                <p>The Grails framework seamlessly integrates with GORM, a data access toolkit that provides a rich set
                    of APIs for accessing relational and non-relational data. GORM also includes implementations for
                    Hibernate (SQL), MongoDB, Cassandra, and Neo4j.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/restapis.svg" alt="REST APIs, REACT, ANGULAR">
                <h3>REST APIs, REACT, ANGULAR</h3>
                <p>With the use of application profiles, including React and Angular, the Grails framework allows
                    developers to build REST APIs or modern web applications with a JavaScript frontend.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/plugins.svg" alt="">
                <h3>Plugins</h3>
                <p>Developers can build plugins that extend and enhance the Grails framework, or they can access
                    existing plugins published by a vibrant plugin community.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/view.svg" alt="View Technologies">
                <h3>View Technologies</h3>
                <p>Technologies such as GSP, JSON Views, and Markup Views help developers effortlessly generate HTML,
                    JSON, and XML.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/asynchronous.svg" alt="Asynchronous Capabilities">
                <h3>Asynchronous Capabilities</h3>
                <p>The async features of the Grails framework aim to simplify concurrent programming. The framework's
                    features include the concept of Promises, a unified event model, and the use of RxJava to write
                    reactive logic.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/opensource.svg" alt="Open Source">
                <h3>Open Source</h3>
                <p>The Grails framework is an open source Apache 2 License project.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/dsl.png" alt="Domain-Specific Languages">
                <h3>Domain-Specific Languages</h3>
                <p>The Grails framework relies on expressive domain-specific languages (DSLs) for validation, querying,
                    markup rendering, and more.</p>
            </div>
            <div class="column">
                <img src="https://grails.apache.org/images/idesupport.png" alt="IDE Support">
                <h3>IDE Support</h3>
                <p>Developers can access support at any time via IDEs and text editors, such as Intellij IDEA, Eclipse,
                    Sublime, and Textmate.</p>
            </div>
        </div>
    </div>
</article>
<article class="training" style="display: block;">
    <div class="content" style="padding-top: 40px; display: none;">
        <div class="twocolumns">
            <div class="column">
                <div class="event">
                    <img src="https://grails.apache.org/images/confs/gr8confeu.png" alt="GR8Conf EU 2020">
                    <h3>
                        <a href="https://gr8conf.eu/">GR8Conf EU 2020</a>
                    </h3>
                    <span class="location">Copenhagen, Denmark</span>
                    <span class="dates">June 2 - 4, 2020</span>
                    <p>Groovy, Grails, and related technologies have seen astounding growth in interest and adoption
                        over the past few years, and with good reason. GR8Conf is a series of conferences founded to
                        spread the word worldwide. The 2018 GR8Conf Europe is celebrating its 10th year, and it's
                        expected to be a blast. As in 2017 the conference had a DevOps day, this year DevOps topics will
                        be mixed with the rest of the topics. GR8Conf is an independent, affordable series of
                        conferences and covers All Things Groovy</p>

                </div>
            </div>
            <div class="column">
                <div class="event">
                    <img src="https://grails.apache.org/images/confs/greach.png" alt="Greach 2020">
                    <h3>
                        <a href="https://greachconf.com">Greach 2020</a>
                    </h3>
                    <span class="location">Madrid, Spain</span>
                    <span class="dates">March 26 - 28, 2020</span>
                    <p>Enhance your knowledge and skills with some of the most recognizable names from the Groovy
                        development scene from all around the world. Experience three days full of Groovy and Grails
                        talks and networking ... plus our famous Friday Beers Party!</p>

                </div>
            </div>
        </div>
    </div>
    <!--    <div class="content">
        <h2>Grails Training</h2>
        
    </div>-->
</article>
<article class="testimonials">
    <div class="content">
        <h2>They all use the Apache Grails Framework</h2>
        <img src="https://grails.apache.org/images/testimoniallogos.png" alt="Companies using Grails">
    </div>
</article>&nbsp;</article>
<footer>
    <div class='content'>
        <div class='apache-grails'>            
            <p>Apache Grails is supported by the Apache Software Foundation and the Grails community.</p>
            <a href='https://apache.org'><img class='' src='https://www.apache.org/img/asf_logo.png' width='300px'
                                              alt='Apache Software Foundation'/></a>
            <p>The Apache Software Foundation</p>
            <p>Apache, Apache Grails, Grails, Groovy, and the ASF logo are either registered trademarks or trademarks
                of The Apache Software Foundation.
            </p>

        </div>
        <nav class='socialmedianav'>
            <ul>
                <li>
                    <a href='mailto:dev@grails.apache.org'><img class='' src='https://grails.apache.org/images/email.svg' alt='Email Icon'/></a>
                </li>
                <li>
                    <a href='https://slack.grails.org'><img class='' src='https://grails.apache.org/images/slack.svg'
                                                            alt='Slack Icon'/></a>
                </li>
                <li>
                    <a href='https://www.youtube.com/@GrailsFramework'><img class='' src='https://grails.apache.org/images/youtube.svg'
                                                                             alt='Youtube Icon'/></a>
                </li>
                <li>
                    <a href='https://www.linkedin.com/showcase/official-grails/'><img class=''
                                                                                      src='https://grails.apache.org/images/linkedin.svg'
                                                                                      alt='LinkedIn Icon'/></a>
                </li>
                <li>
                    <a href='https://github.com/apache/grails-core'><img class='' src='https://grails.apache.org/images/github.svg'
                                                              alt='Github Icon'/></a>
                </li>
                <li style="margin-bottom:10px;">
                    <a href='https://twitter.com/grailsframework'><img class='' src='https://grails.apache.org/images/x-twitter.svg'
                                                                       alt='Twitter Icon'/></a>
                </li>
            </ul>
        </nav>
    </div>
    <div class="content">
        <nav class='footer' style="margin-bottom: 10px">
                <p>ยฉ 2005-2026 the Apache Grails project โ€” Grails is Open Source: 
                    <a href='https://www.apache.org/licenses/'>License</a>,
                    <a href='https://privacy.apache.org/policies/privacy-policy-public.html'>Privacy Policy</a>,
                    <a href='https://www.apache.org/foundation/sponsorship'>Sponsor Apache</a>,
                    <a href='https://www.apache.org/events/current-event'>Events</a>,
                    <a href='https://www.apache.org/security'>Security</a>,
                    <a href='https://www.apache.org/foundation/thanks.html'>Thanks</a>,
                    <a href='https://grails.apache.org/support-schedule.html'>Support Schedule</a>
                </p>
        </nav>
    </div>
</footer>
<div>

</div>
</body>
</html>