https://github.com/epeios-q37/atlas-perl
World's lightest toolkit to quickly and easily add a GUI to your Perl programs and bring them online.
https://github.com/epeios-q37/atlas-perl
api gui network perl repl web
Last synced: about 1 year ago
JSON representation
World's lightest toolkit to quickly and easily add a GUI to your Perl programs and bring them online.
- Host: GitHub
- URL: https://github.com/epeios-q37/atlas-perl
- Owner: epeios-q37
- License: mit
- Created: 2019-06-14T14:32:48.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-27T15:42:30.000Z (over 2 years ago)
- Last Synced: 2025-02-10T10:18:31.952Z (over 1 year ago)
- Topics: api, gui, network, perl, repl, web
- Language: Perl
- Homepage: https://atlastk.org
- Size: 138 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
The *Atlas* toolkit is available for:
[](https://github.com/epeios-q37/atlas-java) [](https://github.com/epeios-q37/atlas-node) [](https://github.com/epeios-q37/atlas-perl) [](https://github.com/epeios-q37/atlas-python) [](https://github.com/epeios-q37/atlas-ruby)
To see the *Atlas* toolkit in action:
[](https://s.q37.info/sssznrb4)
# *Perl* version of the *Atlas* toolkit
[](http://github.com/epeios-q37/atlas-perl/) [](https://github.com/epeios-q37/atlas-perl/blob/master/LICENSE) [](https://atlastk.org)
## A GUI with *Perl* in a couple of minutes
Click the animation to see a screencast of programming this ["Hello, World!" program](https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) with *Perl* in a matter of minutes:
[](https://s.q37.info/3g7zdnp7)
Same video on [*Peertube*](https://en.wikipedia.org/wiki/PeerTube): .
Click to see the corresponding source code
```perl
use Atlas;
my $BODY = '
Hello
Greetings displayed here!
';
sub acConnect {
my ($hello, $dom) = @_;
$dom->inner("", $BODY);
$dom->focus("Input");
}
sub acSubmit {
my ($hello, $dom) = @_;
my $name = $dom->getValue("Input");
$dom->begin("Output", "
Hello, $name!");
$dom->setValue("Input", "");
$dom->focus("Input");
}
my %CALLBACKS = (
"" => \&acConnect,
"Submit" => \&acSubmit
);
Atlas::launch(\%CALLBACKS);
```
### See for yourself right now - it's quick and easy!
```shell
# You can replace 'github.com' with 'framagit.org'.
# DON'T copy/paste this and above line!
git clone https://github.com/epeios-q37/atlas-perl
cd atlas-perl/examples
perl -I ../atlastk Hello/Hello.pl
```
## Your turn
If you want to take your code to the next level, from [CLI](https://s.q37.info/cnh9nrw9) to [GUI](https://s.q37.info/hw9n3pjs), then you found the right toolkit.
With the [*Atlas* toolkit](http://atlastk.org/), you transform your programs in modern web applications ([*SPA*](https://s.q37.info/7sbmxd3j)) without the usual hassles:
- no *JavaScript* to write; only *HTML*(/*CSS*) and *Perl*,
- no [front and back end architecture](https://s.q37.info/px7hhztd) to bother with,
- no [web server](https://s.q37.info/n3hpwsht) (*Apache*, *Nginx*…) to install,
- no need to deploy your application on a remote server,
- no incoming port to open on your internet box or routeur.
The *Atlas* toolkit is written in pure *Perl*, with no native code and no dependencies, allowing the *Atlas* toolkit to be used on all environments where *Perl* is available.
And simply by running them on a local computer connected to internet, applications using the *Atlas* toolkit will be accessible from the entire internet on laptops, smartphones, tablets…
## Content of the repository
The `atlastk` directory contains the *Perl* source code of the *Atlas* toolkit.
The `examples` directory contains some examples.
To run an example, launch, from within the `examples` directory, `perl -I../atlastk /main.pl`, where `` is the name of the example (`Blank`, `Chatroom`…).