AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   General (https://forums.alliedmods.net/forumdisplay.php?f=58)
-   -   Spider - A Replacement Webcompiler (https://forums.alliedmods.net/showthread.php?t=212626)

asherkin 04-05-2013 04:37

Spider - A Replacement Webcompiler
 

Video is for the old version, new one is slightly different.

https://spider.limetech.io/

Features:
  • Supports both SourceMod and AMX Mod X plugins.
  • In-browser compilation - your code never leaves your computer.
  • Supports custom include files - use whatever extensions you need.
  • In-line display of warnings and errors - see at a glance where they occurred.
  • Code highlighting - although not SourcePawn specific just yet.
  • Basic starter template - no more hunting for a myinfo structure to copy.
  • Restores work if the page is closed.
  • It works offline!

Supported Browsers:
  • Chrome - Version ~20+ (exact version not known.)
  • Firefox - Version 20+
  • Internet Explorer - Version 10+ (bet you didn't expect that one.)

Possible future additions:
  • Run spcomp in a WebWorker so it doesn't hang the browser.
  • Get optimization working with Emscripten, to speed it up and reduce code size.
  • Localstorage usage to persist code, custom include files, spcomp.js, and the standard include file blob.
  • Proper file system management, multiple code files. Maybe some form of project blob to allow saving of complete works.

Crafted with love utilising the following projects:

fuxx 04-05-2013 06:01

Re: SPIDER - A SourcePawn IDE
 
Oh my f***ing!

Mother of god! Awesome work!
Works perfectly here with Chrome on OS X.

I really appreciate that work cause i know that its hardcore while i did my own glsl editor and not with that good browser support :P .. Thats a good reason to make another donation!

Iam really impressed!
How much time did you spend on this? Especially for the browser compatibility?

Edit: Donation done

nomy 04-05-2013 06:15

Re: SPIDER - A SourcePawn IDE
 
I like this!

Are files deleted after they have been used?

asherkin 04-05-2013 06:22

Re: SPIDER - A SourcePawn IDE
 
Quote:

Originally Posted by fuxx (Post 1926652)
Edit: Donation done

<3

Quote:

Originally Posted by nomy (Post 1926659)
Are files deleted after they have been used?

Files are never really "saved" anywhere, they just live in the browser's memory - everything is lost when you close the page.

asherkin 04-05-2013 07:07

Re: SPIDER - A SourcePawn IDE
 
Quote:

Originally Posted by fuxx (Post 1926652)
How much time did you spend on this? Especially for the browser compatibility?

I reconstructed this from IRC logs, so only stuff I talked about as I did it is here.
Spoiler

lyric 04-05-2013 10:18

Re: SPIDER - A SourcePawn IDE
 
lets hope this isnt ultimately abandoned like other projects after some time has passed and interest by the author has dwindled as seems to be the direction a lot of good things here are going rapidly

looks very nice though i really like the design and idea. makes me want to learn more on doing sourcemods

Powerlord 04-05-2013 10:43

Re: SPIDER - A SourcePawn IDE
 
When you say fixes to spcomp, are these fixes the ones where it'll give you funky line numbers for errors?

asherkin 04-05-2013 11:48

Re: SPIDER - A SourcePawn IDE
 
Quote:

Originally Posted by lyric (Post 1926787)
lets hope this isnt ultimately abandoned like other projects after some time has passed and interest by the author has dwindled as seems to be the direction a lot of good things here are going rapidly

It has feature-parity to http://www.sourcemod.net/compiler.php and some nice extras, which is all the goal was. We'll all just have to see what happens in the future.

Quote:

Originally Posted by Powerlord (Post 1926798)
When you say fixes to spcomp, are these fixes the ones where it'll give you funky line numbers for errors?

I don't think I mentioned fixes to spcomp anywhere?

Powerlord 04-05-2013 11:52

Re: SPIDER - A SourcePawn IDE
 
Quote:

Originally Posted by asherkin (Post 1926831)
I don't think I mentioned fixes to spcomp anywhere?

Quote:

Originally Posted by asherkin (Post 1926689)
Apr 3rd, 03:30 - Get files loading, realise the compiler is slightly broken.
Apr 3rd, 05:30 - Work around the brokenness and get a smx file compiled.
...
Apr 5th, 07:00 - Merge spcomp changes into sourcemod-central.

It was kinda implied there.

asherkin 04-05-2013 12:38

Re: SPIDER - A SourcePawn IDE
 
Quote:

Originally Posted by Powerlord (Post 1926834)
It was kinda implied there.

Those were issues specific to Emscripten, namely unaligned memory access and a workaround for strftime not existing.

http://wiki.alliedmods.net/Spcomp_(Emscripten)
http://hg.alliedmods.net/sourcemod-c...v/bb6de8c6c2d5

alongub 04-05-2013 14:04

Re: SPIDER - A SourcePawn IDE
 
This is just awesome, but it's still requires a lot of work in order to be usable.

Quote:

Originally Posted by asherkin (Post 1926638)
Proper file system management, multiple code files. Maybe some form of project blob to allow saving of complete works.

Maybe even Git/Mercurial integration?

And what about the ability to save the plugin directly to your gameserver's FTP in addition to downloading the smx file?

I guess these two feature requests would require a server backend.

Also, what's your opinion on adding some debugging capabilities? For example, creating an include file that's utilising something like PeaceMaker's WebSocket Server in order to add a method such as Debug(const String:message[]) that'll send messages to the IDE console?

Oh btw, make this a chrome app!

Dr. Greg House 04-05-2013 16:48

Re: SPIDER - A SourcePawn IDE
 
There's a few things with Pawn Studio that have been bugging me besides the crashes and that it is dead, but the worst things for me were the horrible FTP-browser and missing support for S FTP.

I don't know how many are still using Pawn Studio and I miss that there's no SourcePawn addon for VS (anymore AFAIK), maybe people might collect here what pisses them off about Pawn Studio so you might get some good inspiration about what you could add and how.

asherkin 04-05-2013 16:48

Re: SPIDER - A SourcePawn IDE
 
Quote:

Originally Posted by alongub (Post 1926914)
Maybe even Git/Mercurial integration?

And what about the ability to save the plugin directly to your gameserver's FTP in addition to downloading the smx file?

While it would be possible to emscripten CPython and a FTP client, it would be pushing a lot of code to the browser for very little gain.

I think that focusing on shiny features is more than a little silly at this point.
I'm just going to rename the thread, calling it an IDE was a joke that started on IRC, and the note at the top of the OP was meant to convey this, but I can see it's coloured the direction the thread is taking.

The intent here is to build a client-side replacement for the webcompiler, not build Eclipse-in-a-browser.

Quote:

Originally Posted by alongub (Post 1926914)
Also, what's your opinion on adding some debugging capabilities? For example, creating an include file that's utilising something like PeaceMaker's WebSocket Server in order to add a method such as Debug(const String:message[]) that'll send messages to the IDE console?

This could never work without a server providing the host, unfortunately the entire purpose here is to remove the reliance on any backend.

Powerlord 04-05-2013 16:55

Re: SPIDER - A SourcePawn IDE
 
Quote:

Originally Posted by Dr. Greg House (Post 1926984)
I don't know how many are still using Pawn Studio and I miss that there's no SourcePawn addon for VS (anymore AFAIK), maybe people might collect here what pisses them off about Pawn Studio so you might get some good inspiration about what you could add and how.

It's a pain to write Visual Studio language addons. You essentially have to write your own parser in a .NET language (likely C#).

I started writing one based on the PythonTools source code for Visual Studio, but it's way too much effort for way too little payoff.

Drixevel 04-05-2013 17:56

Re: SPIDER - A replacement webcompiler
 
This is pretty neat, if this came with integration with Mercurial, Git, etc as well as live upload to the server after compile then this would be something that I would pay for as a product. Not entirely sure if you're wanting to take it that far but it's useful nonetheless.

Cheers,
- Jack

Edit: Not entirely sure this has been reported yet but I'm using the latest version of Mozilla Firefox and the compiled binary won't download. The compile itself tells me it works fine for a basic script but it doesn't allow me to download the '.smx' format.

- Jack

asherkin 04-05-2013 21:53

Re: SPIDER - A replacement webcompiler
 
Quote:

Originally Posted by r3dw3r3w0lf (Post 1927023)
Edit: Not entirely sure this has been reported yet but I'm using the latest version of Mozilla Firefox and the compiled binary won't download. The compile itself tells me it works fine for a basic script but it doesn't allow me to download the '.smx' format.

- Jack

Are you sure you're using Firefox 20 (released a couple of days ago)? I've tested it on both OS X and Windows with no problems.

Drixevel 04-05-2013 23:24

Re: SPIDER - A replacement webcompiler
 
Quote:

Originally Posted by asherkin (Post 1927126)
Are you sure you're using Firefox 20 (released a couple of days ago)? I've tested it on both OS X and Windows with no problems.

My mistake, I'm running 19.0.2. I'll update and let you know then.

- Jack

Edit: Yep, that did it. My mistake.

- Jack

alongub 04-06-2013 00:45

Re: SPIDER - A SourcePawn IDE
 
Quote:

Originally Posted by asherkin (Post 1926985)
This could never work without a server providing the host, unfortunately the entire purpose here is to remove the reliance on any backend.

I'm not sure that's true. If I'm not mistaken, the plugin by PeaceMaker allows you to actually open a WebSocket server under a different port. The webcompiler could connect to that server. The only problem is that the user would have to type the server IP address.

Edit: oh, you said you want to remove the reliance on any backend, not only on a web server backend. nvm

Anyway, as a webcompiler and not as an IDE it works great. Nice job!

GoD-Tony 04-06-2013 15:59

Re: SPIDER - A replacement webcompiler
 
I didn't even know this was possible, nice job! Be sure to keep us updated with any further changes. :up:

Skippy 04-06-2013 16:22

Re: SPIDER - A replacement webcompiler
 
This is amazing! If sourcepawn and multiple saved projects are added this will be what I've been looking for a long time. So far it looks like it's pretty awesome.

asherkin 04-07-2013 12:23

Re: SPIDER - A replacement webcompiler
 
I've pushed a new version which checks some browser compatibility, allows you to name and download source code, and tightens spacing a bit for smaller screens.

Regarding networking features like uploading or SCM integration, web browsers will need to expose regular sockets to JS first, and I don't see that ever happening :P.
I might give dropbox.js a shot in the future though, which should alleviate some more issues.

Bumrang 04-08-2013 00:54

Re: SPIDER - A replacement webcompiler
 
I pretty much joined just to say this:

Thank you.

I just started creating plugins (found an old server box, decided to put it to good use by putting my creating my own TF2 server) and this has been really useful. The whole thing looks really nice and clean, I like it a lot!

Keep up the good work asherkin!

Nikkii 04-10-2013 12:09

Re: SPIDER - A replacement webcompiler
 
Very nice, however it needs support for 'sub files', like how Updater uses separate source files to clean up the code, so pretty much sub directory support :)

Skippy 04-12-2013 09:27

Re: SPIDER - A replacement webcompiler
 
I tried using the chrome app I have on my Ipad to get onto the site and it says my browser isn't supported. Is there a browser app that will allow me onto the site?

asherkin 04-12-2013 09:35

Re: SPIDER - A replacement webcompiler
 
Quote:

Originally Posted by Skippy (Post 1931253)
I tried using the chrome app I have on my Ipad to get onto the site and it says my browser isn't supported. Is there a browser app that will allow me onto the site?

Due to Apple's restrictions, Chrome for iOS renders using OS components (Safari). All web browsers in the App Store will have this issue.

recon0 04-12-2013 18:01

Re: SPIDER - A replacement webcompiler
 
Great work!

asherkin 05-02-2013 16:50

Re: SPIDER - A replacement webcompiler
 
The compiler is now compiled with optimizations enabled, compile times should be about 50% of what they were before.

GoD-Tony 05-04-2013 06:46

Re: SPIDER - A replacement webcompiler
 
Quote:

Originally Posted by asherkin (Post 1944614)
The compiler is now compiled with optimizations enabled, compile times should be about 50% of what they were before.

Nice improvement.

I'm surprised that this runs so much faster with IE10 than Chrome (didn't try Firefox). Before this change, it was about 6s vs 12s to compile the default script, and now it's 3s vs 6s.

asherkin 05-04-2013 07:23

Re: SPIDER - A replacement webcompiler
 
Quote:

Originally Posted by GoD-Tony (Post 1945497)
I'm surprised that this runs so much faster with IE10 than Chrome (didn't try Firefox). Before this change, it was about 6s vs 12s to compile the default script, and now it's 3s vs 6s.

Interesting! Could you try the latest Firefox nightly? asm.js optimizations are enabled which should give it a huge boost (in my testing I've found it to be a pretty small improvement though, the asm.js team are currently working on adding to to the testcases / benchmarks they use).

Some numbers: On my MBP, latest Chrome beta: 2.5s, latest Firefox nightly: 3s.

GoD-Tony 05-04-2013 09:14

Re: SPIDER - A replacement webcompiler
 
Quote:

Originally Posted by asherkin (Post 1945507)
Could you try the latest Firefox nightly? asm.js optimizations are enabled which should give it a huge boost (in my testing I've found it to be a pretty small improvement though, the asm.js team are currently working on adding to to the testcases / benchmarks they use).

Tried to use an actual timer this time. I forget which version of FF I had tested with a long time ago, but it's definitely improved since then.

Windows 7 x64
Chrome 27.0.1453.73 beta: 5.5s
Firefox 23.0a1 (2013-05-03): 4.0s
IE 10.0.4: 3.0s

API 06-03-2013 19:18

Re: SPIDER - A replacement webcompiler
 
This is something that is worth an awesome *hurrah*

I love it. Web IDE's always tickle me in funny places. If I have time I can maybe introduce a feature or two.

API 06-03-2013 19:20

Re: SPIDER - A replacement webcompiler
 
Oh btw minor CSS glitch at certain window widths: http://img.iaconosoftware.com/51ad247bb094f.png

It goes away by decreasing the percentage for the columns just a tiny bit.

asherkin 06-03-2013 19:27

Re: SPIDER - A replacement webcompiler
 
Quote:

Originally Posted by pimpinjuice (Post 1964029)
This is something that is worth an awesome *hurrah*

I love it. Web IDE's always tickle me in funny places. If I have time I can maybe introduce a feature or two.

Cool :D, please feel free to hack on it, I'll try and give it a cleanup and get it up on bitbucket when I have a mo.

Quote:

Originally Posted by pimpinjuice (Post 1964031)
Oh btw minor CSS glitch at certain window widths: http://img.iaconosoftware.com/51ad247bb094f.png

It goes away by decreasing the percentage for the columns just a tiny bit.

Can you repro it in another browser? Chrome has had numerous bugs with percentage sizing in the last few months worth of dev builds.

11530 06-04-2013 12:38

Re: SPIDER - A replacement webcompiler
 
Hey, I see you use the following line,

PHP Code:

<meta name="viewport" content="width=device-width, initial-scale=1.0"

which would likely imply you're wanting to enable the responsive features though you haven't included the additional responsive css file.

PHP Code:

<link href="css/bootstrap-responsive.css" rel="stylesheet"

This is also assumed since you use a span6/span6 on the Compile/Download divs, but they don't stack when the window is resized. :)

asherkin 06-04-2013 12:58

Re: SPIDER - A replacement webcompiler
 
Quote:

Originally Posted by 11530 (Post 1964438)
which would likely imply you're wanting to enable the responsive features though you haven't included the additional responsive css file.

I trialled it early on, but it didn't play nicely without lots of extra cruft, and it's not a high-priority as the fluid layout is design to scale as low as 800x600, and there is no mobile browser that supports the requisite JS features anyway.

404UserNotFound 08-28-2013 06:18

Re: SPIDER - A replacement webcompiler
 
Asherkin, you are a god. I'd give you all my monies if I had any monies.

Mr. Man 08-28-2013 12:52

Re: SPIDER - A replacement webcompiler
 
Very nice! I used to change things in Notepad++ then compile locally. This will save me a lot of trouble!

Nikkii 05-14-2014 00:15

Re: SPIDER - A replacement webcompiler
 
I was messing with this a bit earlier (as seen in irc) and came up with this :)

I'll probably modify it a bit more to load the includes from the repositories if possible, and I also have to fix it so that includes like smlib can be loaded.

http://spider.nikkii.us/

Changes:
  • Added predefined includes
  • Added auto-parsing of includes when you drag a file in, prompting whether to attempt loading of extra includes
  • Loading a set of includes via zip file
  • Redid downloading to work a bit better for more browsers (hopefully)
  • Added uploading to paste site, soon loading from
  • Added better highlighter supporting more SourcePawn specific settings

asherkin 08-13-2014 20:21

Re: SPIDER - A replacement webcompiler
 
Spider has had a complete rewrite - check it out.

Highlights:
  • It works when you're offline.
  • Persistent storage to prevent accidental loss of work.
  • Very, very fast compile times in most modern browsers.
  • New responsive design.
  • Much cleaner code.
  • Considerably smaller download (less than 500KB total).
  • Compilation happens in a Web Worker (no more hanging).
  • Infrastructure to support multiple source files / complex include sets (no UI yet).

11530 08-15-2014 15:44

Re: SPIDER - A replacement webcompiler
 
Quote:

Originally Posted by asherkin (Post 2183683)
Spider has had a complete rewrite - check it out.

Highlights:
  • It works when you're offline.
  • Persistent storage to prevent accidental loss of work.
  • Very, very fast compile times in most modern browsers.
  • New responsive design.
  • Much cleaner code.
  • Considerably smaller download (less than 500KB total).
  • Compilation happens in a Web Worker (no more hanging).
  • Infrastructure to support multiple source files / complex include sets (no UI yet).

Fantastic work as always. :up: A great revision.


All times are GMT -4. The time now is 03:00.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.