Question

How do you develop a web application in Eiffel?

Is there a webapp framework for eiffel?

Are there examples of web apps developed with eiffel?

Was it helpful?

Solution

There have been many, but the most widely framework currently supported is the Eiffel Web Framework. Frameworks in Eiffel tend to focus more on plumbing, i.e. fastcgi support, routers, validation. We miss the breadth of CMS frameworks PHP has for example.

So if you're looking for Drupal in Eiffel, nope, there is nothing like that. There's a lot of stuff developed in Eiffel, but usually it's business, and specific. A common approach would be a ExtJS front-end, and Eiffel fastcgi back-end.

OTHER TIPS

Apart from the Eiffel Web Framework, a pragmatic and working approach that I have used is:

  1. Build your business logic in Eiffel and compile it to shared libraries (.so). Use only ANSI C types in the C API.

  2. Generate a binding in Python (or Perl or Ruby) for the C API with SWIG.

  3. Use an appropriate web application framework in Python (or Perl or Ruby) and write the web application server side stuff in that language. I've used Bottle.

  4. Use whatever web application client framework, ie. Dojo, jQuery, Bootstrap, and templating engine (like the simple one in Bottle) you want to write web clients.

The advantages of this approach is:

  • You can use all the capabilities of Eiffel for core business logic and components (in the shared libraries), where Eiffel really shines.

  • You get interactive scriptable interfaces to your Eiffel business components in your favorite scripting language. You can then write higher level scripting based command line programs that make use of the core business components.

  • You can leverage existing web application frameworks, of which the nice and powerful ones are often implemented in modern scripting languages.

Clearly Eiffel Web Framework is what future Eiffel web applications will rely on.

Although not supported anymore, you can have a look at the Eiffel Software support web site which will show what was feasible by integrating Eiffel with ASP.NET. This site will eventually be rewritten using the Eiffel Web Framework which is more flexible than ASP.NET.

You can also do some CGI scripting using the Eiffel Software's `EiffelWeb' library.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top