com.github.avasin:yarmij

Yarmij is a library to replace standard Java RMI for the case when you need it on Android.

Лицензия

Лицензия

Группа

Группа

com.github.avasin
Идентификатор

Идентификатор

yarmij
Последняя версия

Последняя версия

0.1.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

com.github.avasin:yarmij
Yarmij is a library to replace standard Java RMI for the case when you need it on Android.
Ссылка на сайт

Ссылка на сайт

https://github.com/avasin/yarmij
Система контроля версий

Система контроля версий

https://github.com/avasin/yarmij

Скачать yarmij

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.avasin/yarmij/ -->
<dependency>
    <groupId>com.github.avasin</groupId>
    <artifactId>yarmij</artifactId>
    <version>0.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.avasin/yarmij/
implementation 'com.github.avasin:yarmij:0.1.1'
// https://jarcasting.com/artifacts/com.github.avasin/yarmij/
implementation ("com.github.avasin:yarmij:0.1.1")
'com.github.avasin:yarmij:jar:0.1.1'
<dependency org="com.github.avasin" name="yarmij" rev="0.1.1">
  <artifact name="yarmij" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.avasin', module='yarmij', version='0.1.1')
)
libraryDependencies += "com.github.avasin" % "yarmij" % "0.1.1"
[com.github.avasin/yarmij "0.1.1"]

Зависимости

compile (2)

Идентификатор библиотеки Тип Версия
com.esotericsoftware : kryo jar 5.0.3
com.google.code.findbugs : jsr305 jar 3.0.1

provided (1)

Идентификатор библиотеки Тип Версия
org.slf4j : slf4j-api jar 1.7.30

test (3)

Идентификатор библиотеки Тип Версия
org.apache.logging.log4j : log4j-slf4j-impl jar 2.14.0
junit : junit jar 4.12
org.mockito : mockito-core jar 3.7.7

Модули Проекта

Данный проект не имеет модулей.

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.

Версии библиотеки

Версия
0.1.1
0.1.0