This is hugely out of scope... but it's just a question about whether it's feasible.
Have you looked at the Atom editor from GitHub? It's an IDE intended to be an open-source alternative to SublimeText. The interesting thing is that the IDE is written in node.js. I also think some earlier versions were using the Ace editor and while it doesn't seem like it does anymore there might be some API similarities. So it's an IDE that uses similar components to the Swagger editor.
I would imagine that a swagger validator plugin (similar to csslint) would be pretty feasible, but is something like a Swagger live preview plugin (similar to markdown preview practical without a major changes?
We thought about it. I think it makes sense to start a new project for that. You can use code snippets parts from this project.
@maxlinc I like your idea. Planning on starting a new project?
An Atom editor for Swagger is an idea that has serious legs.
Rendering the preview is the easy part. The tricky parts are code completion and "jump to line". I would start with code completion. For rendering the preview I'm working on spinning off the preview of the Swagger Editor to a stand-alone project so projects like this can benefit from it. You can also use Swagger UI for rendering the preview.
Don't really agree with the "rendering is easy". If one wants to do it properly in an Atom way, the UI needs to be integrated into the Atom API and rendered e.g. via space-pen (see e.g. Atoms markdown previewer). This will also allow to solve the "jump to line" issue ...
I'd say if you don't do it that way then it would be more an external previewer approach (similar to Textmate's approach of rendering markdown)
@zambon I don't know. I don't have any Atom experience myself so I've just been looking around for others who could contribute or offer guidance.
If you or anyone else on this thread has some experience and wants to start I new project I say go for it - let me know the repo URL and I'll point potential contributors in your direction.
I'm going to be playing with this concept. I do not have any Atom experience, but intrigued around the possibilities of it being a shell for next gen desktop apps. Feel free to share any notes you have on your work, and I'll be doing the same.
Are you guys thinking about a new editor or an Atom plug-in? Since Atom renders itself via web technologies it's possible to have Atom plug-ins that render HTML in a pane. Atom Markdown Editor is a good example to look at.
I'm starting from scratch. I heard there are several paths people take when
building desktop apps with Atom as shell...
Will check out Atom Markdown Editor...thanks for educating me.
Kin Lane (API Evangelist)
[email protected]
apievangelist.com
_apisjson.org http://apisjson.org/_
apicommons.org
On Wed, Feb 18, 2015 at 3:19 PM, Mohsen Azimi [email protected]
wrote:
Are you guys thinking about a new editor or an Atom plug-in? Since Atom
renders itself via web technologies it's possible to have Atom plug-ins
that render HTML in a pane. Atom Markdown Editor
https://github.com/atom/markdown-preview is a good example to look at.—
Reply to this email directly or view it on GitHub
https://github.com/swagger-api/swagger-editor/issues/336#issuecomment-74970003
.
I assume you comments above meant that you're looking into writing a standalone editor that's based on Atom but would run as a separate program. If you just meant you're looking into a plugin that still runs inside the Atom IDE but that is more "Atom-native" than my comments may not apply.
I'm curious about using Atom to build standalone desktop apps, but it sounds less appealing to me. The idea of an offline/local/desktop experience is nice, but the "Integrated" in IDE also appeals to me. I would like to be able to easily jump between Swagger, code and other documentation (for the "externalDocs" links) in the same editor.
My comments are an evolution of my education derived from drinking wine
with John Sheehan of Runscope recently in Australia. He talked about
limitations in HTTP requests when apps are built as Chrome Apps, when
Google rewrites requests / responses.
He alluded to the potential of atom as a standalone desktop app, and the JS
engine available. I know nothing else, but I'm looking for just the right
environment to build standalone, vendor-neutral tools in the API space that
go beyond just web apps.
I'm looking for any education I can get, and the "jumping" between which
you describe sounds what I'm looking for. Honestly, I want all features to
be API driven, and not embedded app, but we'll see...
I want to develop an app that I can use Swagger or Blueprint, and then
render mock APIs, interactive documentation, tests, and anything else I
desire along the lifecycle like diff, or have a notebook of designs, which
I've been building from public APIs and my APIs of my own designs at
@APIStack https://github.com/kinlane/api-stack/tree/gh-pages/data - you
can find visions of my perfect API design editor here
http://apievangelist.com/2014/06/25/if-i-could-design-my-perfect-api-design-editor/,
but for me it is all a work in progress.
At this point, I'm looking to learn, and find the best platform--currently
Atom is this.
Kin Lane (API Evangelist)
[email protected]
apievangelist.com
_apisjson.org http://apisjson.org/_
apicommons.org
On Thu, Feb 19, 2015 at 6:49 PM, Max Lincoln [email protected]
wrote:
I assume you comments above meant that you're looking into writing a
standalone editor that's based on Atom but would run as a separate program.
If you just meant you're looking into a plugin that still runs inside the
Atom IDE but that is more "Atom-native" than my comments may not apply.I'm curious about using Atom to build standalone desktop apps, but it
sounds less appealing to me. The idea of an offline/local/desktop
experience is nice, but the "Integrated" in IDE also appeals to me. I would
like to be able to easily jump between Swagger, code and other
documentation (for the "externalDocs" links) in the same editor.—
Reply to this email directly or view it on GitHub
https://github.com/swagger-api/swagger-editor/issues/336#issuecomment-75163860
.
I believe if you try to put everything everything in one app it's going to be hard to maintain. It's nice to have auto-generated tests, mock server and try request in one app but let's have the editor scoped around editing the code and trying out endpoints.
Two points about creating a new app:
Agree 100%. I would rather each feature be an open source microservice.
I'm just looking for the hollywood front to bring it all together.
John Sheehan of Runscope says Chrome does transform calls, making it less
than ideal, but this is not from my own experience.
You nailed what I'd like to do, create a loosely couple stack of
microservices that get me closer to my perfect API design editor
http://apievangelist.com/2014/06/25/if-i-could-design-my-perfect-api-design-editor/
.
I use both Postman and HTTP Post among others to stay in tune with what
tools offer.
I'm going to focus on the feature, then create microservice for it. Then
work with existing tools to implement...but still want to push forward my
knowledge of which editors devs will love, as you say.
Thanks for exchanging thoughts...
Kin Lane (API Evangelist)
[email protected]
apievangelist.com
_apisjson.org http://apisjson.org/_
apicommons.org
On Thu, Feb 19, 2015 at 9:50 PM, Mohsen Azimi [email protected]
wrote:
I believe if you try to put everything everything in one app it's going to
be hard to maintain. It's nice to have auto-generated tests, mock server
and try request in one app but let's have the editor scoped around editing
the code and trying out endpoints.
Two points about creating a new app:
- Chrome Apps and Atom plugins can make requests with no limitations.
See Postman(Chrome App)
https://github.com/a85/POSTMan-Chrome-Extension and HTTP Post(Atom
package) https://atom.io/packages/http-post. There is no need of
making a standalone app using Atom Shell just because of HTTP calls.- Programmers love their own editor. They have plug-ins, custom key
bindings and themes on their editors that they use everyday. If they could
edit Swagger in their own editor (Atom in this case) it would be much more
appealing than launching a different app for editing Swagger—
Reply to this email directly or view it on GitHub
https://github.com/swagger-api/swagger-editor/issues/336#issuecomment-75193047
.
+1 any progress on Atom integration?
Given the issue is closed - no.
What about electron based?
+1 please :+1: