• Stars
    star
    135
  • Rank 269,297 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 11 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hprose is a cross-language RPC. This project is Hprose 2.0 RPC for JavaScript

Hprose

Promises/A+ logo

Hprose for JavaScript

Join the chat at https://gitter.im/hprose/hprose-js Build Status Sauce Test Status bower version npm version License



Introduction

Hprose is a High Performance Remote Object Service Engine.

It is a modern, lightweight, cross-language, cross-platform, object-oriented, high performance, remote dynamic communication middleware. It is not only easy to use, but powerful. You just need a little time to learn, then you can use it to easily construct cross language cross platform distributed application system.

Hprose supports many programming languages, for example:

  • AAuto Quicker
  • ActionScript
  • ASP
  • C++
  • Dart
  • Delphi/Free Pascal
  • dotNET(C#, Visual Basic...)
  • Golang
  • Java
  • JavaScript
  • Node.js
  • Objective-C
  • Perl
  • PHP
  • Python
  • Ruby
  • ...

Through Hprose, You can conveniently and efficiently intercommunicate between those programming languages.

This project is the implementation of Hprose for JavaScript.

Hprose 2.0 for JavaScript Documents(中文版): https://github.com/hprose/hprose-js/wiki

Browser support

Desktop browsers

  • Google Chrome
  • Apple Safari
  • Mozilla Firefox
  • Opera
  • Microsoft Internet Explorer 6.0+
  • Netscape 7+
  • Konqueror
  • ...

Mobile browsers

  • Apple Safari on iOS
  • Google Chrome on iOS
  • Google Chrome on Android
  • Default Browser on Android
  • Internet Explorer on Windows Phone
  • Opera Mobile
  • Default Browser on WebOS
  • Default Browser on Blackberry
  • Default Browser on N9 MeeGo
  • Mozilla Firefox on N9 MeeGo
  • *Default Browser on Symbian
  • *Opera Mini
  • *Pocket IE
  • ...

All of the above browsers (except asterisk marked) support cross-domain invoking with Hprose for JavaScript.

Hybird app support

  • ionic + cordova (http, tcp, websocket)
  • Chrome extentions (http, tcp, websocket)
  • APICloud (http, tcp*)
  • DCloud (http)
  • AppCan (http)
  • DeviceOne (http)
  • ... (http, websocket)

TCP is only available on iOS for APICloud, because there is a bug of APICloud Android SDK, and they don't want to fix this bug.

Usage

You don't need use the javascript source files. You only need include hprose.js in your html.

The file FlashHttpRequest.swf you can put it on anywhere, and then specify its load path by setting the flashpath attribute in the script tag. If you omit this attribute, the default path is current path.

Exception Handling

If an error occurred on the server, or your service function/method throw an exception, it will be sent to the client. You need to pass an error callback function after succuss callback function to receive it. If you omit this callback function, the client will ignore the exception, like never happened.

For example:

<html>
<head>
<script type="text/javascript" src="hprose.js" flashpath="/"></script>
</head>
<body>
<script type="text/javascript">
    var client = hprose.Client.create("http://www.hprose.com/example/", ["hello"]);
    client.hello("World!")
    .then(function(result) {
        alert(result);
    }, function(err) {
        alert(err);
    });
</script>
</body>

More Repositories

1

hprose-php

Hprose is a cross-language RPC. This project is Hprose 3.0 for PHP
PHP
1,972
star
2

hprose-golang

Hprose is a cross-language RPC. This project is Hprose for Golang.
Go
1,247
star
3

hprose-java

Hprose is a cross-language RPC. This project is Hprose 2.0 for Java
Java
551
star
4

hprose-dotnet

Hprose 3.0 for .NET
C#
382
star
5

hprose

HPROSE is short for High Performance Remote Object Service Engine. It's a serialize and RPC library, the serialize library of hprose is faster, smaller and more powerful than msgpack, the RPC library is faster, easier and more powerful than thrift.
368
star
6

hprose-nodejs

Hprose is a cross-language RPC. This project is Hprose 2.0 for Node.js
JavaScript
301
star
7

hprose-html5

Hprose is a cross-language RPC. This project is Hprose 2.0 Client for HTML5
JavaScript
238
star
8

hprose-swoole

Hprose asynchronous client & standalone server based on swoole
PHP
185
star
9

hprose-go

Hprose 1.0 for Golang (Deprecated). Hprose 2.0 for Golang is here:
Go
140
star
10

hprose-objc

Hprose is a cross-language RPC. This project is Hprose 2.0 Client for Objective-C
Objective-C
130
star
11

hprose-delphi

Hprose is a cross-language RPC. This project is Hprose 2.0 for Delphi and FreePascal
Pascal
116
star
12

hprose-wx

hprose 的微信小程序专用版
JavaScript
70
star
13

hprose-typescript

Hprose 3.0 for TypeScript
TypeScript
58
star
14

hprose-pecl

Hprose is a cross-language RPC. This project is Hprose serialize/unserialize extension for PHP
C
54
star
15

hprose-cpp

Hprose for C++
C++
51
star
16

hprose-python

Hprose for Python
Python
48
star
17

hprose-cpp1x

Hprose 2.0 for C++ 1x
C++
44
star
18

hprose-aauto

Hprose for AAuto Quicker
36
star
19

hprose-yii

Hprose Server for Yii
CSS
35
star
20

hprose-doc

Hprose 文档汇总
34
star
21

hprose-lua

Hprose for Lua
Lua
32
star
22

hprose-dart

Hprose 3.0 for Dart
Dart
30
star
23

hprose-d

Hprose for Dlang
D
26
star
24

hprose-workerman

A PHP class that enables you to use Hprose with Workerman. Includes custom protocol, bridge and interface. Enjoy Hprose at its finest with multi-process powers!
PHP
23
star
25

hprose-ruby

Hprose for Ruby
Ruby
22
star
26

hprose-rust

Hprose for Rust
Rust
21
star
27

hprose-swift

Hprose for Swift
18
star
28

hprose-as3

Hprose for ActionScript 3.0
ActionScript
18
star
29

hprose-phpcpp

Hprose for PHP-CPP (Deprecated)
C++
17
star
30

hprose-asp

Hprose for ASP
JavaScript
16
star
31

hprose-perl

Hprose for Perl
Perl
12
star
32

hprose-nim

Hprose for Nim
Nim
11
star
33

hprose-symfony

Hprose Server for Symfony
PHP
9
star
34

hprose-as2

Hprose for ActionScript 2.0
ActionScript
9
star
35

hprose-crystal

Hprose for Crystal
8
star
36

hprose-psr7

Hprose Service for PSR7
PHP
7
star
37

hprose-hack

Hprose for Hack
Hack
7
star
38

hprose-j2me

Hprose for Java ME
Java
7
star
39

hprose.github.io

Hprose WebSite
PHP
7
star
40

hprose-julia

Hprose for Julia
6
star
41

hprose-elixir

Hprose for Elixir
5
star