Scripts/qjide

From J Wiki
Jump to: navigation, search

&npsp;

What is qjide?

  • qjide is an AJAX based browser IDE for the J programming language.
  • qjide is an experiment, not a replacement for the existing JHS/IDE.
  • qjide is based on the Qooxdoo AJAX web application framework, and Python (2.7.x / 3.x)
  • qjide is able to create single page web applications with desktop class GUI widgets

 

Requirements

  • J 805 (32bit or 64bit)
  • J Add-On "convert/json"
  • J Add-On "ide/jhs"
  • J Add-On "graphics/viewmat"
  • J Add-On "graphics/bmp"
  • J Add-On "labs/labs"
  • Python 2.7.x / 3.x
  • An up-to-date Web-Browser

 

What's new in 2.2.2 (15.02.2017);

  • J 805 compatibility

 

Why another browser based J IDE?

Some people, like me, are still desktop application minded, and prefer IDEs like Microsoft’s VisualStudio, Apples Xcode, Eclipse or Netbeans instead of browser based IDEs, mostly because of their usability and look-and-feel.

Why not having the best of both worlds?

Qooxdoo has a rich set of widgets to create the look-and-feel of a web application, similar to that one of a desktop application. Together with Pythons ready-to-use web application server, and the ability to include foreign functions from a .dll, .so, .dylib, Qooxdoo and Python are the perfect "duo infernale" to create a nice looking and usable browser based IDE.

 

Currently implemented features

  • Directory/File browser (like the one in the GTK IDE Editor)
  • Locale/Definitions browser
  • Multi-Tab Script Editor with syntax coloring (borrowed from JHS IDE)
  • Interactive J Terminal (J console)
  • Definitions Viewer
  • Pull down Menus
  • Many editor features
  • Keyboard shortcuts
  • Viewmat
  • Plot
  • Labs
  • Package manager
  • WWD (Web Window Driver)

 

What's missing?

  •  ??? (Tell me, what you are missing)

 

Is it cross platform?

  • Yes

I've tested it successfully on the following architectures:

  • Mac OS X 10.11
  • Linux Ubuntu 14
  • Windows 7/8/10 32-bit, 64-bit
  • Firefox 44
  • Google Chrome 48
  • Safari 9
  • Microsoft's Internet Explorer is currently not supported

. The CodeMirror Editor window cannot be focused ??? . All other browsers (I tested) do work very well. . But ... there are no problems with WWD web applications in IE.

 

Installation and configuration

Just download the zip/tgz archive, and unpack it into any folder of your choice.

Copy qjide.cfg.template to qjide.cfg:

################################################################################
# File:        qjide.cfg
# Author:      M. Saurer, 14.04.2013, Datavision GmbH
# Description: qjide configuration file.
#
# License:     GPL Version 3 (see gpl3.txt)
#
# Note 1:      To enforce python run in 32bit mode on Mac OS X,
#              set the following environment variable:
#              export VERSIONER_PYTHON_PREFER_32_BIT=yes
#
# Note 2:      Ensure that the following J add-ons are installed:
#              convert/json
#              ide/jhs
#              graphics/bmp
#              graphics/viewmat
#              labs/labs
################################################################################

# Setup web server #############################################################

SrvHost = '127.0.0.1'       # Listening IP address or host name
#SrvHost = '192.168.1.39'   # Listening IP address or host name
SrvPort = 8080              # Application server port to listen on
HlpPort = SrvPort + 1       # Help document server port to listen on
DocRoot = ''                # Document root (other than sub dir webapp)
HlpRoot = ''                # Help doc root (Def: <JInsFol>/addons/docs/help)
SrvMesg = False             # Enable/Disable web server messages
VerBose = False             # Enable/Disable verbose messages

# Setup web client #############################################################

# Examples:
# ---------
# WebClnt = ''            # Do not start a web browser
# WebClnt = '<default>'   # Start system default web browser
# WebClnt = 'C:\\Program Files\\Mozilla Firefox\\firefox.exe -width 1280 -height 1024 -url'

# System defined default web browser
WebClnt = '<default>'

# Setup IDE fonts sizes ########################################################

# Editor font size
EditorFontSize = 12

# Console font size
ConsoleFontSize = 16

# Setup J environment ##########################################################

# J Installation Folder
JInsFol = 'C:\\Home\\J701'         # On my windows pc
#JInsFol = '/Users/martin/J701'    # On my mac
#JInsFol = '/home/martin/J701'     # On my linux box

# J Multi Session
# True  = Each web connection (ip address) use its own J instance
# False = All web connections (ip address) share the same J instance
JMulSes = True

# J startup ####################################################################

# Specify a J script here, to start a wwd based web app, instead of the IDE
# Note: Make sure, there is absolutely no output generated from any of
#       your startup files. The wwd start script must be the first one
#       which generates output.

# Load J script at startup
WwdStart = ''
#WwdStart = 'load \'~user/wwd_example1.ijs\''
#WwdStart = 'load \'~user/StockTerm/StockTerm.ijs\''
#WwdStart = 'load \'~user/DvTimeManager/dvtm_wwd.ijs\''

################################################################################
# EOF
################################################################################
  • Start it, using the command line: python qjide.py
  • Or use one of the included scripts/shortcuts: qjide.app (qjide.command), qjide.sh, qjide.lnk
  • Please edit scripts/shortcuts so the Python and qjide paths fits you environment
  • On *nix systems (Mac, Linux), please don't forget to do a: chmod -R 755 qjide

If everything goes well, a browser window/tab is opened, and qjide is ready to use.

 

Is it free?

YES!

It's released under the GPL3 license, like the J source code.

 

And last but not least

Have fun!

 

Feedback

Directly to: martin DOT saurer AT bluewin DOT ch

Or via J general mailing list.

 

Screen Shots

Qjide1.jpg   Qjide2.jpg   Qjide3.jpg   Qjide4.jpg   Qjide5.jpg   Qjide6.jpg   Qjide7.jpg   Qjide8.jpg

 

Downloads

Download qjide from: github