Creating a professional application in Perl?

I created a set of tools that I use in my daily work, and I would like them to look a little more “professional” in order to sell them to financial institutions.

Currently, these tools are written in Perl and run from the DOS command line, which is extremely effective, but does not look very attractive. So, I would like to add a user interface to it, but I really don't know what to use for a language that knows that:

  • The CGI Perl interface, hosted on the Internet, is not an option since the information provided as input is quite sensitive.
  • It would be ideal to sell it as a package / executable.
  • I don't really like the Perl / Tk interface.
  • I am fine with rewriting the application in another language, but I would prefer to reuse the main modules in Perl, since it is very powerful with regular expressions and lists / arrays.

What would you advise me to do? Thanks, Lory

+6
source share
4 answers

If you want a non-web interface and don't like Tk, there is also Wx , which is a wrapper for the wxWidgets GUI toolkit.

However, web applications can now be very easy to create (using a modern structure). Take the Mojolicious application, for example: Mojolicious has no dependencies other than Perl 5.12.x, and provides its own web server (Hypnotoad). You can start by creating "Lite :: App", which is a simple, standalone single-phase application, and then, if necessary, then expand it to a larger distribution. It even comes with tools to convert your application into a handy packaged distribution that can be installed as easily as any CPAN module.

Therefore, the security problem. User authentication, IP address forwarding, LAN only ... There are many ways to make the app “internal only” if you need it.

You can simply create a prototype web application, and as soon as you determine interest in your product, invest considerable time in writing as an application for the Windows GUI.

+8
source

Continuing the transition from DavidO, because the current web microframes for Perl (I prefer Dancer at my suggestion Mojolicious, but both are good and largely equivalent) contain their own mini-servers on the network, they also allow the application to easily run completely on the local the car.

Since these mini-servers by default use a non-standard port (usually 3000 or 5000) by default, and you can easily install them on another port, they can be easily isolated by firewalls, ensuring that no one can connect to them remotely. You can also, of course, enable and verify the IP address in the application and reject any requests that do not come from localhost .

+3
source

I assume that the target system will be Windows. Use the RAD (Rapid Application Development) platform to develop a graphical interface. Examples of such a platform are Delphi or .NET with C # or VB. To link part of Perl, consider using the perl2exe tool.

It doesn't seem like your scripts would need a web server. Also, consider the installation problem. Just guess, because you do not give a lot of information about what your scripts do.

+2
source

I use the Cava packager to deploy my Perl-written tools. You can even create an installer executable with just a few clicks. It works very well with strawberry Perl and wxPerl on Windows.

0
source

Source: https://habr.com/ru/post/917503/


All Articles