Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pinguino Web IDE
07-11-2013, 10:07 PM, (This post was last modified: 07-11-2013, 10:08 PM by niki_m.)
#1
Thumbs Up  Pinguino Web IDE
Hi everyone

I' have been working for the past few days on a browser-based verion of the Pinguino IDE. It's coming along well so far....

Working
---------

Editor tabs (you can re-arrange them too)
"New File" button
Default file template
Auto-completion (CTRL + Space atm. Hope to have it pop up on third character soon)
Snippets (code templates)
Online-help loading

Still To-Do
------------

Filestore connection/loading/saving
File tree-view
Function help
Linking rest of toolbar buttons to functions
Preferences
Remote compilation

Hopefully, I'll have an alpha version ready for public testing after the weekend! Big Grin
Reply
08-11-2013, 02:07 PM,
#2
RE: Pinguino Web IDE
I can't wait to try it !
It is easier to complain than it is to do, but it is better to do than it is to complain.
Reply
14-11-2013, 08:01 PM,
#3
RE: Pinguino Web IDE
Had to take a few days break from working on it... Just got the dialogs, filestore & a few other small routines to do now.

Here's a very early screen grab!


Attached Files Thumbnail(s)
   
Reply
21-11-2013, 04:13 PM,
#4
RE: Pinguino Web IDE
The main editor is pretty much completed now & works really well.

There are a few technical challenges to complete the environment though when it comes to local file system access & uploading hex files to a Pinguino - security restrictions in modern browsers are a headache :/

The way I see it, we have 3 choices:

1) Localhost service running from a single executable file.

2) Java applet communicating through the html postmessage api (Can't access it with javascript or it becomes sandboxed even if it's signed)

3) Ethernet bridge - Dedicated device that sits on your LAN & handles storage & uploading. Could be a Raspberry Pi or Pinguino with ethernet adapter.

Each option has pros & cons... #1 defeats the purpose of having a web based IDE, #2 would need serious permissions & #3 would be costly.

Would like peoples opinions on this..
Reply
21-11-2013, 05:16 PM,
#5
RE: Pinguino Web IDE
Solution #3 is definitely not an option.
Solution #2 seems to be difficult to implement.
All things considered, solution #1 seems to be the best if there is no other alternative.


(21-11-2013, 04:13 PM)niki_m Wrote: The main editor is pretty much completed now & works really well.

There are a few technical challenges to complete the environment though when it comes to local file system access & uploading hex files to a Pinguino - security restrictions in modern browsers are a headache :/

The way I see it, we have 3 choices:

1) Localhost service running from a single executable file.

2) Java applet communicating through the html postmessage api (Can't access it with javascript or it becomes sandboxed even if it's signed)

3) Ethernet bridge - Dedicated device that sits on your LAN & handles storage & uploading. Could be a Raspberry Pi or Pinguino with ethernet adapter.

Each option has pros & cons... #1 defeats the purpose of having a web based IDE, #2 would need serious permissions & #3 would be costly.

Would like peoples opinions on this..
It is easier to complain than it is to do, but it is better to do than it is to complain.
Reply
21-11-2013, 05:34 PM,
#6
RE: Pinguino Web IDE
Well, a few technical challenges resulting in a headache.
Sounds like a huge understatement.
I'd call it a pita, but on the other hand I am far from understanding your approach.

Every now and then within the last ten or so years I've been using MS Windows HTAs - HTML Applications - which is little more than renaming .HTM(L) to .HTA, resulting in _some_ relieve from _some_ of those restrictions. But of course this is limited to MS Windows (and therefore an immediate knock-out here), no-one knows how long it will be supported (since hardly anyone uses or even knows it) and the possibilities of the FileSystemObject are very limited when it comes to serial output (haven't managed input yet).

I fear you have to "specialize" in one or another way. Maybe "browser widgets" or "browser apps" may help a bit. But as it turns out, the universal, platform- and browser-independent approach may remain a dream 8-(

This may come in handy (some day, at least):
http://developer.chrome.com/apps/api_index.html - especially:
http://developer.chrome.com/apps/usb.html
http://developer.chrome.com/apps/serial.html
http://developer.chrome.com/apps/app_network.html
Reply
21-11-2013, 09:50 PM, (This post was last modified: 21-11-2013, 09:59 PM by niki_m.)
#7
RE: Pinguino Web IDE
Looking closer, #1 will cause problems on linux as you need root access (or edit configs) for USB :/

#2 looks like it would need native interfaces to function.

Without going the specialised route, I think this project has just died.

Things would be a lot easier if we had a CDC bootloader. Java serial API has very few restrictions.
Reply
22-11-2013, 12:42 AM, (This post was last modified: 22-11-2013, 12:43 AM by pingotg.)
#8
RE: Pinguino Web IDE
You don't need root acces on Linux for USB.

The wiki mentions udev rules I think. They work - just use them.

John
Reply
22-11-2013, 03:37 PM,
#9
RE: Pinguino Web IDE
I can't ask people to alter their udev rules just to get a web app working.

There has to be a workaround for this. Automated scripting or something else.
Reply
22-11-2013, 05:43 PM,
#10
RE: Pinguino Web IDE
They'll need a connection to their target (Pinguino) board so should have figured USB out. If your site is doing the compiling etc all you need to do is a page rfresh with a link that provides a suitable result (like a HEX file), I guess.

Whatever happens, they need something on their computer to send the (HEX or other) file across to their target board.

John
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)