-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcode-first-low-code-platform.html
More file actions
332 lines (312 loc) · 19.2 KB
/
Copy pathcode-first-low-code-platform.html
File metadata and controls
332 lines (312 loc) · 19.2 KB
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
<!doctype html>
<html lang="en-US">
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TRJTB9CH');</script>
<!-- End Google Tag Manager -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>Code-First Low-Code Platform for Business Apps | lsFusion</title>
<meta name="description" content="Build business apps with lsFusion: an open-source, code-first low-code platform with declarative logic, generated UI and SQL-native data processing." />
<meta name="robots" content="index,follow,max-image-preview:large" />
<link rel="canonical" href="https://lsfusion.org/code-first-low-code-platform" />
<link rel="alternate" href="https://lsfusion.org/code-first-low-code-platform" hreflang="en" />
<link rel="alternate" href="https://lsfusion.org/ru/code-first-low-code-platform" hreflang="ru" />
<link rel="alternate" href="https://lsfusion.org/code-first-low-code-platform" hreflang="x-default" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="lsFusion" />
<meta property="og:locale" content="en_US" />
<meta property="og:locale:alternate" content="ru_RU" />
<meta property="og:title" content="Code-First Low-Code Platform for Business Apps | lsFusion" />
<meta property="og:description" content="A code-first low-code platform for complex business logic, data-intensive systems and full control over your application." />
<meta property="og:url" content="https://lsfusion.org/code-first-low-code-platform" />
<meta property="og:image" content="https://lsfusion.org/imgs/og/lsfusion-social.png" />
<meta property="og:image:width" content="1731" />
<meta property="og:image:height" content="909" />
<meta property="og:image:alt" content="lsFusion — open-source platform for business applications" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Code-First Low-Code Platform for Business Apps | lsFusion" />
<meta name="twitter:description" content="Declarative development, generated UI and SQL-native processing for complex business applications." />
<meta name="twitter:image" content="https://lsfusion.org/imgs/og/lsfusion-social.png" />
<meta name="twitter:image:alt" content="lsFusion — open-source platform for business applications" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400&display=swap" rel="stylesheet">
<link href="/css/app.css" rel="stylesheet" type="text/css" />
<link href="/css/landing.css" rel="stylesheet" type="text/css" />
<link rel="apple-touch-icon" sizes="180x180" href="/imgs/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/imgs/favicon/favicon_32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/imgs/favicon/favicon_16x16.png">
<link rel="icon" type="image/x-icon" href="/imgs/favicon/favicon.ico">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "lsFusion", "item": "https://lsfusion.org/" },
{ "@type": "ListItem", "position": 2, "name": "Code-first low-code platform", "item": "https://lsfusion.org/code-first-low-code-platform" }
]
},
{
"@type": "WebPage",
"@id": "https://lsfusion.org/code-first-low-code-platform#webpage",
"url": "https://lsfusion.org/code-first-low-code-platform",
"name": "Code-First Low-Code Platform for Business Apps | lsFusion",
"description": "Build complex business applications with an open-source, code-first low-code platform.",
"inLanguage": "en",
"about": {
"@type": "SoftwareApplication",
"name": "lsFusion",
"applicationCategory": "DeveloperApplication",
"license": "https://opensource.org/license/lgpl-3-0",
"url": "https://lsfusion.org/",
"sameAs": [
"https://github.com/lsFusion",
"https://docs.lsfusion.org/"
]
}
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Is lsFusion a no-code platform?",
"acceptedAnswer": { "@type": "Answer", "text": "No. lsFusion is a code-first low-code platform. Developers describe the domain model, business rules and forms in a declarative language, while the platform automates repetitive application infrastructure." }
},
{
"@type": "Question",
"name": "Is lsFusion open source?",
"acceptedAnswer": { "@type": "Answer", "text": "Yes. The platform and IDE source code are public, and the platform is distributed under the LGPL v3 license." }
},
{
"@type": "Question",
"name": "What applications is lsFusion designed for?",
"acceptedAnswer": { "@type": "Answer", "text": "lsFusion is designed for data-intensive business applications with complex rules, transactions, forms, permissions and integrations, including ERP, WMS and custom internal systems." }
},
{
"@type": "Question",
"name": "Can developers extend an lsFusion application with Java or SQL?",
"acceptedAnswer": { "@type": "Answer", "text": "Yes. The platform supports integration with Java, SQL and external systems when application-specific extensions are required." }
}
]
}
]
}
</script>
</head>
<body class="flex">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TRJTB9CH"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<nav>
<div class="inner">
<h2><a href="/" title="Go to Homepage">lsFusion</a></h2>
<a class="menu-link" href="#menu">Menu</a>
<ul class="nav">
<li><a href="/features" class="active">Features</a></li>
<li><a href="/compare">Compare</a></li>
<li><a href="https://docs.lsfusion.org/Install/" target="_blank" title="Click to open in a new window">Install</a></li>
<li><a href="https://docs.lsfusion.org" target="_blank" title="Click to open in a new window">Learn</a></li>
<li><a href="/support">Support</a></li>
<li><a href="/solutions">Solutions</a></li>
<li id="languages">
<div class="language">
<strong>EN</strong>
<ul>
<li><span class="current">En</span></li>
<li><a href="/ru/code-first-low-code-platform">Ру</a></li>
</ul>
</div>
</li>
</ul>
</div>
</nav>
<main class="inner landing">
<nav class="breadcrumbs" aria-label="Breadcrumb">
<a href="/">Home</a> / Code-first low-code platform
</nav>
<header class="landing-hero">
<span class="eyebrow">Open source · LGPL v3 · Code-first</span>
<h1>Code-first low-code platform for complex business applications</h1>
<p class="lead">lsFusion reduces application boilerplate without hiding the code. Describe data, business rules and interfaces in one declarative language; let the platform handle persistence, queries, reactive updates and UI generation.</p>
<div class="landing-actions">
<a class="btn" href="/try">Try lsFusion online</a>
<a class="btn-secondary" href="https://docs.lsfusion.org/" target="_blank">Read the documentation</a>
<a class="btn-secondary" href="https://github.com/lsFusion" target="_blank">View source on GitHub</a>
</div>
</header>
<section class="landing-section" aria-labelledby="low-code-difference">
<h2 id="low-code-difference">Low-code for developers, not a closed visual builder</h2>
<p class="section-intro">The “low-code” part is the amount of infrastructure the platform derives from a compact model. The application itself remains explicit, versionable source code that a development team can review, test and extend.</p>
<div class="landing-grid">
<article class="landing-card">
<h3>One declarative model</h3>
<p>Classes, stored and calculated data, actions, constraints and forms are described in the same language. Changes in the model propagate through the application instead of being repeated across layers.</p>
</article>
<article class="landing-card">
<h3>Data processing without an ORM boundary</h3>
<p>Set-oriented logic can be translated into optimized database queries. Developers work with business meaning while lsFusion decides how to execute operations on the application or database server.</p>
</article>
<article class="landing-card">
<h3>Generated, reactive interfaces</h3>
<p>Forms can combine editable and calculated data. The platform keeps values and interface state synchronized when data changes, reducing manual client-server plumbing.</p>
</article>
</div>
</section>
<section class="landing-section code-layout" aria-labelledby="declarative-example">
<div>
<h2 id="declarative-example">A business model that becomes an application</h2>
<p>This small lsFusion module declares a business object, two properties and a form. The same model can then grow with calculations, constraints, events, reports, security rules and integrations.</p>
<p><a href="https://docs.lsfusion.org/Examples/" target="_blank">Explore more lsFusion examples</a> or compare the platform’s <a href="/features">full feature set</a>.</p>
</div>
<pre><code>CLASS Order 'Order';
isPosted 'Completed' = DATA BOOLEAN (Order);
number 'Number' = DATA INTEGER (Order);
FORM orders
OBJECTS o = Order
PROPERTIES(o) READONLY isPosted, number
;</code></pre>
</section>
<section class="landing-section" aria-labelledby="open-source-control">
<h2 id="open-source-control">What open source means for your project</h2>
<p class="section-intro">Open source is useful when it changes what your team can inspect, deploy and maintain—not merely when a repository is public.</p>
<ul class="control-list">
<li><strong>Platform and IDE source are available.</strong> Your developers can inspect platform behavior, propose changes and build a customized version when required.</li>
<li><strong>The platform is licensed under LGPL v3.</strong> It can be used, distributed and modified under the terms of a recognized free-software license.</li>
<li><strong>You choose the application environment.</strong> lsFusion applications can run on infrastructure you control, with direct access to operational diagnostics and the database.</li>
<li><strong>Extensions are not a dead end.</strong> Java interoperability, SQL access and integration mechanisms cover cases that should not be forced into a visual component model.</li>
</ul>
</section>
<section class="landing-section" aria-labelledby="use-cases">
<h2 id="use-cases">Where lsFusion fits best</h2>
<p class="section-intro">The platform is aimed at transactional, data-intensive systems where business rules evolve and the cost of maintaining duplicated logic grows quickly.</p>
<div class="landing-grid">
<article class="landing-card">
<h3>ERP and operations</h3>
<p>Orders, pricing, inventory, purchasing, finance, approvals and other connected processes with many calculations and constraints. See the dedicated <a href="/erp-application-development-platform">ERP development platform overview</a>.</p>
</article>
<article class="landing-card">
<h3>Custom internal systems</h3>
<p>Role-based workplaces, registries, workflows and back-office applications that must reflect a company’s own operating model.</p>
</article>
<article class="landing-card">
<h3>Integration-heavy applications</h3>
<p>Systems that combine a relational database with APIs, files, email, external services and existing Java or SQL components.</p>
</article>
</div>
</section>
<section class="landing-section" aria-labelledby="fit-check">
<h2 id="fit-check">Is a code-first low-code platform right for you?</h2>
<div class="fit-grid">
<div class="fit-column">
<h3>A strong fit when…</h3>
<ul>
<li>business logic is more complex than a collection of CRUD screens;</li>
<li>developers need source control, modularity and repeatable environments;</li>
<li>the system processes large sets of related data and transactions;</li>
<li>you want the productivity of low-code without giving up extensibility.</li>
</ul>
</div>
<div class="fit-column">
<h3>Probably not the first choice when…</h3>
<ul>
<li>the goal is a marketing or content website;</li>
<li>only non-technical users should build the application visually;</li>
<li>the project is a disposable form or a very small standalone dashboard;</li>
<li>a specialized off-the-shelf product already matches the process exactly.</li>
</ul>
</div>
</div>
</section>
<section class="landing-section" aria-labelledby="faq">
<h2 id="faq">Code-first low-code FAQ</h2>
<div class="faq-list">
<article class="faq-item">
<h3>Is lsFusion a no-code platform?</h3>
<p>No. lsFusion is code-first low-code. Developers write a declarative model; the platform automates repetitive application infrastructure around it.</p>
</article>
<article class="faq-item">
<h3>Is lsFusion really open source?</h3>
<p>Yes. The <a href="https://github.com/lsFusion" target="_blank">platform and IDE source code</a> are public, and the platform is distributed under the <a href="https://opensource.org/license/lgpl-3-0" target="_blank">LGPL v3 license</a>.</p>
</article>
<article class="faq-item">
<h3>What applications is lsFusion designed for?</h3>
<p>It is designed for data-intensive business applications with complex rules, transactions, forms, permissions and integrations—such as ERP, WMS and custom internal systems.</p>
</article>
<article class="faq-item">
<h3>Can developers use Java or SQL?</h3>
<p>Yes. Java interoperability, SQL access and integration mechanisms are available when a project needs application-specific extensions.</p>
</article>
</div>
</section>
<section class="landing-cta" aria-labelledby="start-building">
<h2 id="start-building">See the declarative approach in practice</h2>
<p>Open the online environment, follow the examples, or review how lsFusion compares with conventional application development platforms.</p>
<div class="landing-actions">
<a class="btn" href="/try">Try online</a>
<a class="btn-secondary" href="/compare">Compare approaches</a>
</div>
</section>
</main>
<footer>
<div class="inner">
<nav>
<ul>
<li><h3>Try</h3></li>
<li><a href="/try">Online</a></li>
<li><a href="https://docs.lsfusion.org/Development_auto/" target="_blank">Offline</a></li>
</ul>
<ul>
<li><h3>Learn</h3></li>
<li><a href="https://docs.lsfusion.org/Paradigm/" target="_blank">Paradigm</a></li>
<li><a href="https://docs.lsfusion.org/Examples/" target="_blank">Examples</a></li>
<li><a href="https://www.youtube.com/playlist?list=PL8FG-RmfUn1Oc30Vaw1Em3DeSzV5ElQ43" target="_blank">Video Tutorials</a></li>
</ul>
<ul>
<li><h3>Install</h3></li>
<li><a href="https://docs.lsfusion.org/Execution_auto/" target="_blank">Automatically</a></li>
<li><a href="https://docs.lsfusion.org/Execution_manual/" target="_blank">Manually</a></li>
</ul>
<ul>
<li><h3>Solutions</h3></li>
<li><a href="https://mycompany.lsfusion.org" target="_blank">MyCompany</a></li>
<li><a href="https://lsfusion-erp.com/" target="_blank">lsFusion ERP</a></li>
<li><a href="https://lsfusion-erp.com/modules.html#wms" target="_blank">LSF WMS</a></li>
<li><a href="/solutions">More solutions</a></li>
</ul>
<ul class="social">
<li><h3>Social</h3></li>
<li class="git"><a href="https://github.com/lsfusion" target="_blank">Github</a></li>
<li class="blog"><a href="https://habr.com/en/company/lsfusion/blog/" target="_blank">Blog</a></li>
<li class="ln"><a href="https://www.linkedin.com/company/lsfusion/" target="_blank">LinkedIn</a></li>
</ul>
<ul class="community">
<li><h3>Community</h3></li>
<li class="tel"><a href="https://t.me/lsfusion_official" target="_blank">Telegram</a></li>
<li class="git"><a href="https://github.com/lsfusion/platform/issues" target="_blank">Github Issues</a></li>
<li class="sl"><a href="https://join.slack.com/t/lsfusion/shared_invite/zt-2klihpl2q-h6ol~nDRPky~O1uHC14Dwg" target="_blank">Slack</a></li>
<li class="st"><a href="https://stackoverflow.com/questions/tagged/lsfusion" target="_blank">StackOverflow</a></li>
<li class="em"><a href="mailto:info@lsfusion.org">Email</a></li>
</ul>
</nav>
<div id="absfooter">
<p id="copyright">© <script>document.write((new Date()).getFullYear())</script> lsFusion Foundation</p>
<ul><li><a href="mailto:info@lsfusion.org">Report a bug</a></li></ul>
</div>
</div>
</footer>
<script
src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script src="/js/app.js"></script>
</body>
</html>