Content deleted Content added
Platipusica (talk | contribs) m adding low-code |
Jerryobject (talk | contribs) WP:LINKs: WP:Disambiguate, update-standardizes, underscore > space, needless-WP:PIPE > WP:NOPIPE. Cut needless whitespace character carriage returns, between MOS:HEADings and text: to standardize, aid work via small screens. |
||
(37 intermediate revisions by 9 users not shown) | |||
Line 2:
{{Infobox software
| name = Jam.py
| screenshot = File:Screenshot from 2024-05-23 09-42-54.png
| caption = Screenshot of Parameters, with the visual form editor being used to create an application
| author = Andrew Yushev▼
| released = {{Start date and age|2015|07|01}}
| latest release version = {{wikidata|property|reference|edit|P348}}
| latest release date
| genre = [[Web framework]]
| license = [[BSD licenses#3-clause
|
| programming language = [[Python (programming language)|Python]], [[
| platform = [[Cross-platform software|Cross-platform]]▼
▲| programming language = [[Python (programming language)|Python]], [[JavaScript (programming language)|JavaScript]]
| website = {{URL|jampyapplicationbuilder.com}}
▲| platform = [[Cross-platform]]
▲| author = Andrew Yushev
}}
'''Jam.py''' is
Jam.py version 5.x is a [[Single-page application|single-page]], [[Event-driven architecture|event driven]] [[low-code development platform]] for [[database]]-driven business [[web application]]s, based on the [[don't repeat yourself]] (DRY) principle, with emphasis on [[create, read, update and delete]] (CRUD). It is designed to automatically create [[JavaScript]] [[HTML form|web forms]] from the underlying database tables, although a form can be created manually if required. The existing database tables can be imported into Jam.py to create the forms and reports. Database views are unsupported for import.
▲Jam.py is a [[Low-code development platform]] [[Web framework|"full stack"]] [[Web Server Gateway Interface|WSGI]] [[rapid application development]] framework for the Python programming language.<ref>{{Cite web|url=https://wiki.python.org/moin/WebFrameworks/|title=WebFrameworks - Python Wiki|website=wiki.python.org}}</ref>
It
Jam.py version 7.x supports routing within the [[Single-page application|single-page]]. Uniform resource locator ([[URL]]) mapping is unsupported.
== Features ==
*
* v7.x runs with Python >3.6, and is using dependencies installed automatically
* Can run as a standalone web development server or be used with any web server which supports [[WSGI]]
* Built-in [[Graphical user interface builder|GUI
* Support for [[JSON]] client data (for Representational State Transfer ([[REST]]) and [[JavaScript]] clients)
* Support for popular databases [[Oracle Database]], [[Microsoft SQL Server]], [[PostgreSQL]], [[SQLite]], [[MySQL]], [[Firebird (database server)]], SQLCipher<ref>{{cite web |title=SQLCipher |url=https://github.com/sqlcipher |website=GitHub |language=en}}</ref><ref group=Note>{{Cite web|url=https://
* Extensible [[authentication]] mechanisms and [[role-based access control]]
* [[Internationalization]] support
* [[jQuery]] for [[Ajax (programming)|Ajax]] and [[user interface|UI]]
* [[Template engine (web)|Template language]]
* [[OpenDocument|Reports Templates]] based on [[LibreOffice]]
* Files upload and camera capturing
* Optimistic locking
==Distinctive features==
== PythonAnywhere ==▼
=== Built-in application builder ===
[[PythonAnywhere]] Python 3.7 deployment is supported<ref group=Note>{{Cite web|url=https://github.com/pythonanywhere/help_pages/blob/master/articles/Jampy.md|title=pythonanywhere/help_pages|website=GitHub|date=11 October 2021}}</ref>▼
All [[Software development|development]], [[Software maintenance|maintenance]] and remote database administration can be performed via Builder interface. The most distinctive feature is the Client and Server Module. The Server Module enables the Python code for business logic, executed as a [[server-side]] session. The Client Module executes the JavaScript code within a browser. It is possible to exchange data between the two.
<ref>[https://www.linux-magazine.com/Issues/2020/241/Jam.py Building a database front end with Jam.py]</ref>
Application Builder is strongly influenced by [[Delphi (software)|Delphi]] visual designer.<ref>[https://www.webprecis.com/best-frameworks-for-web-design Best Frameworks for Web Design]</ref>
=== Application builder client module ===
This JavaScript [["Hello, World!" program]] code displays a simple web page when visited:
<syntaxhighlight lang="javascript">
task.create_menu($("#menu"), $("#content"), {
splash_screen: '<h1 class="text-center">Hello World!</h1>',
view_first: true
});
</syntaxhighlight>
The above code resides in Task/Client Module(s) within the Application Builder. The task function can be accessed globally.
=== Application builder server module ===
The Python libraries can be imported within the Task/Server Module(s):
<syntaxhighlight lang="python">
import smtplib
def send_email():
# code that sends email
</syntaxhighlight>
The above code imports smtplib library, which might be used to send emails. The defined functions can be accessed globally.
=== Database migrations ===
Jam.py supports database [[Data migration|migration]] and data import from one supported database to another.
The below code in the Task/Server Module will import data from SQLite to application database:
<syntaxhighlight lang="python">
from jam.db.db_modules import SQLITE
def on_created(task):
task.copy_database(SQLITE, "demo.sqlite")
</syntaxhighlight>
Limits:
* The SQLite database cannot be imported into the application database which has [[foreign key]]s.<ref>[https://jampyapplicationbuilder.com/docs/how_to/how_to_migrate_to_another_database.html How to migrate to another database]</ref>
▲== PythonAnywhere ==
▲[[PythonAnywhere]] Python 3.
==Notes==
Line 48 ⟶ 100:
* [[Django (web framework)]]
* [[Comparison of server-side web frameworks|Comparison of web frameworks]]
* [[List of low-code development platforms]]
== External links ==
* {{Official website|
* {{GitHub|jam-py-v5}}
{{Python (programming language)}}
Line 58 ⟶ 110:
{{Web frameworks}}
[[Category:2015 software]]
[[Category:Free software programmed in Python]]
[[Category:Python (programming language) web frameworks]]
[[Category:Low Code Application Platform]]
<!-- Hidden categories below -->
[[Category:Articles with example JavaScript code]]
|