Tips for a developer starting out with ESI!

Hello! I study software development in college and I’m also starting work placement in a few days (woo!) but I would love to develop an application(s) using ESI.

I’ve a few crazy ideas for apps, but I’d obviously like to start off with basics. I think any end goal for the apps I’ve in mind would be for them to be web apps, no desktop or mobile apps. I’ve been reading the developers website but I would also like to hear from the dev community what works best for them. What languages you use, what does your stack end up looking like for a full blown application, what things should I consider ahead of time before going too deep into development, what tools you think I should use or you think are a must before going into ESI work. Things like this :smile:

If the context of what I study in college is important - it’s primarily Java they’ve taught us. I’ve self taught myself to use the AWS cloud for environments and I’ve some experience in HTML/CSS/ PHP.

Thanks for replies in advance! :smile:

1 Like

I too have been looking for a good starting library for an ESI app. There are a lot of choices it seems, from starting with a generic swagger library or using some ESI specific library.



  • list most of the ESI libraries.
  • It also list a lot of existing projects, if you feel like contributing to an existing project instead of starting your own.
  • It’s also a good place to look before you start a project, to see if something like it already exist or not.
  • With the XML API closing down, there will soon be a lot of projects that will simply stop working. Adopting a project like that may be a huge task, but, worth considering. Alternatively you could start a new project that fill the gap left by a dead project.

It’s also worth reading the following post, that help with most of the things you need to know:

1 Like

Nice, thank you! o7

Read over this: https://developers.eveonline.com/blog/article/esi-quick-reference-for-new-developers-1

1 Like

Also this http://eveonline-third-party-documentation.readthedocs.io/en/latest/esi/index.html

1 Like

Extremely nice information, thank you. o7

Hi there,

I have written a couple of web-based apps, all using php as language, usually quite a bit of JavaScript and to simplify things a little, bootstrap as UI framework.
I use the esi client generated using the swagger-codegen, which makes it really easy to upgrade. If you use a recent version of the codegen (>2.3) the php client can return promises, which makes it easy to do parrallel API calls even in php.

However I would recommend starting with any language you know, most likely there’s a way to do webapps with it.

Cheers,
Snitch

2 Likes

I have been developing a few web apps and one Slack app for Eve.

If you want to develop web apps you want to go PHP, node.js or Python. Since you already know Java, I would recommend PHP, since the syntax is similar and its supported by almost any web server. (also while learning the language stackoverflow is your best friend :wink: )

Standard stack would by xAMP, so Apache, MySQL and PHP. That works great both on your dev machine (e.g. WAMP for Windows) and is pretty much standard for any webserver (e.g. LAMP with LINUX).

To make your web app user friendly you want to add some JavaScript, usually in the form of proven GUI library. I can personally recommend jQuery and Bootstrap. Or you can go further and look at Laravel.

For testing you web apps on your local dev machine with ESI authentication (e.g. SSO login) I recommend using ngrok, which allows you to expose your local webserver to the Internet in a secure fashion.

Last but not least I can recommend joining the tweetfleet Slack for help with any Eve API and web apps related topics. There you can directly talk to the CCP devs for ESI and also find many 3rd party devs.

Here is an example for one of my web apps: Thera Connect. It finds the best routes between two solar systems in Eve using Thera as hub.

2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.