Giter Club home page Giter Club logo

enetframework's Introduction

ENetFramework

Build Status License

The ENetFramework is an API that can be used to develop web applications in .Net using/borrowing your favorite JavaEE techniques.

Features currently supported by the reference implementation*

  • Context and Dependency Injection (CDI)
  • Framework Views (Java Server Faces - JSF)
  • Expression Statements (Expression Language - EL)

Planned features...

  • Binding Validation (Bean/Faces Validation)
  • RESTful Webservices

*) The corresponding Java technology is given in parentheses

Anatomy of this solution

The Solution in this respository contains three projects. The one called 'RandomCodeOrg.ENetFramework' is the API, intended to be used by programmers developing a web application based on this framework. An example for such an application is given by the 'RandomCodeOrg.Mercury' project. The third project ('RandomCodeOrg.Pluto') is a reference implementation of an application container that can host ENetFramwork-based applications.

Getting started

You can

  create your own web application using this tutorial

  or run the example application

  1. Clone this repository
  2. Open the solution
  3. Run the contained project 'RandomCodeOrg.Mercury'

Contributors Wanted

You think that this project has too little features and too many bugs? But you like the basic idea? Then don't hesitate to participate. All types of contribution are very welcome. For example, you could

  • create pull requests
  • report bugs
  • enhance the documentation
  • make own suggestions for new features
  • give us your feedback

Feel free to contact us at [email protected]

Disclaimer

As you might have noticed, this project is everything but ready for production. You are very welcome to use this framework for experimental/academic or "just for fun" purposes.

I would appreciate every kind of contribution and feedback. Maybe we could then someday recommend this framework for production use...

enetframework's People

Contributors

masinger avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

enetframework's Issues

Logger facade

It would be nice if the framework provides a logger interface so that applications do not have to depend on third-party libraries.

The implementation should then be provided and injected by the application container.

Validation for [Managed] attributes

Pluto validates applications before they are deployed (see RandomCodeOrg.Pluto.Health.*) to avoid common errors which would otherwise occur during runtime.

There should be a validation for types with a [Managed] attribute.

Catch exception during reload of modified views

Pluto recognizes when a views source file changes and tries to reload its content. The problem is that invalid XML will cause an uncaught exception that terminates the execution.

Suggestion: Catch exceptions during reload an emit a warning, that the resource could not be reloaded.

Application scoped resource + interface causes a compilation error

If a managed resource SomeNameSpace.Foo is application scoped and there is an interface IFoo a compilation error is thrown during startup.

The problem is that the current StatementBuilder creates a field for both types resulting in two fields with the same name. The same problem could occur if there a two equally named resources in different namespaces (e.g. Example.NamespaceA.IFooController and Exmple.NamespaceB.IFooController)

The fields are generated in RandomCodeOrg.Pluto.Statements.Compiler.StatementBuilder.Build():74.

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.