Giter Club home page Giter Club logo

yarmij's Introduction

yarmij

Yet another RMI for Java

This project was created because I was deeply disappointed when I decided to write a pretty small and dumb client-server applicaion for Android. Here is why:

  1. Android by itseld does not support java.rmi package, so native implementation from Java cannot be used to solve the task described above.
  2. Standard way to solve the goal from the top on Android is to use grpc library, but it brings the following unnecessary complexity:
    1. It requires at least one additional *.proto file with message and service declarations.
    2. It requires maven build script dedicated configurations, so *.java files will be automatically regenerated every build.
    3. Source code requires additional level of conversion process. In case you have your own model, you cannot use it directly as messages or message parts. You would need to convert your own model into *.java classes generated from *.proto message definitions.

All 2.* subitems above are bringing significant inconvinience in case you need to write something simple and quick and you don't want to waste time on doing proper configurations.

There is only one significant restriction which is coming from serialization, which is provided by EsotericSoftware / kryo library - you need to define at least private no-arg constructor, so your class would be able to be instantiated.

yarmij's People

Contributors

avasin avatar

Watchers

James Cloos avatar  avatar

Forkers

kirillchadakin

yarmij's Issues

Add support for function overloading

Today in case you have a service which contain more than one method with several names, then only one of them will be called.
It is required to consider method signature when we are choosing implementation method.

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.