GithubHelp home page GithubHelp logo

colin-adams / ewf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eiffelwebframework/ewf

1.0 2.0 0.0 10.38 MB

Eiffel Web Framework -- Provide a common framework to build easily web server application in Eiffel (portable on various connector and platforms)

License: Other

Eiffel 59.82% JavaScript 24.30% CSS 3.65% Shell 0.16% CoffeeScript 3.11% C 8.41% C++ 0.40% Python 0.14%

ewf's Introduction

Eiffel Web Framework

Overview

The Eiffel Web Framework (EWF) provides Eiffel users with a layer to build anything on top of the http protocol such as websites, web API/services.

This layer is multi-platform: it can be set on Windows, Linux operating systems, and in addition it can run on top of any httpd servers such as Apache2, IIS, nginx, lighttpd. EWF includes as well a standalone httpd web server component, written in Eiffel, which enables users to run easily a web server on their machine, or even embed this component in any application written with Eiffel.

Currently EWF offers a collection of Eiffel libraries designed to be integrated with each others, and among other functionalities, it give simple access to the request data, to handle content negotiation, url dispatcher, integrate with openid system, and so on.

There is a growing ecosystem around EWF, that provides useful components:

  • OpenID and OAuth consumer library
  • Various hypermedia format such as HAL, Collection+json, …
  • Websocket server and client
  • Template engine
  • API Auto-documentation with swagger
  • A simple experimental CMS.
  • ...

So if you want to build a website, a web api, RESTful service, …or even if you want to consume other web api, EWF is a solution.

EWF brings with it all the advantages of the Eiffel technology and tools with its powerful features such as Design by Contract, debugging, testing tools which enable to build efficient systems expected to be repeatedly refined, extended, and improved in a predictable and controllable way so as to become with time bugfree systems. Enjoy the full power of debugging your web server application from the IDE.

Project

Official project site for Eiffel Web Framework:

For more information please have a look at the related wiki:

For download, check

Tasks and issues are managed with github issue system

Requirements

  • Compiling from EiffelStudio 7.2 to 13.11 and more recent version of the compiler.
  • Developped using EiffelStudio 13.11 (on Windows, Linux)
  • Tested using EiffelStudio 13.11 with "jenkins" CI server (not anymore compatible with 6.8 due to use of `TABLE_ITERABLE')
  • The code have to allow void-safe compilation and non void-safe system (see more about void-safety )

How to get the source code?

Using git

Libraries under 'library'

server

  • ewsgi: Eiffel Web Server Gateway Interface read more
    • connectors: various web server connectors for EWSGI
  • libfcgi: Wrapper for libfcgi SDK
  • wsf: Web Server Framework read more
    • router: URL dispatching/routing based on uri, uri_template, or custom read more

protocol

  • http: HTTP related classes, constants for status code, content types, ... read more
  • uri_template: URI Template library (parsing and expander) read more
  • CONNEG: Content negotiation library (Content-type Negociation) read more

client

  • http_client: simple HTTP client based on cURL read more

text

  • encoder: Various simpler encoders: base64, url-encoder, xml entities, html entities read more

Others

  • error: very simple/basic library to handle error

External libraries under 'contrib'

Draft folder = call for contribution

Examples

..

Contributing to this project

Anyone and everyone is welcome to contribute. Please take a moment to review the guidelines for contributing.

Community

Keep track of development and community news.

For more information please have a look at the related wiki:

ewf's People

Contributors

jocelyn avatar jvelilla avatar ynh avatar colin-adams avatar souvarin avatar berenddeboer avatar pacoispaco avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.