{"id":14984322,"url":"https://github.com/hprose/hprose-html5","last_synced_at":"2025-04-06T22:10:34.409Z","repository":{"id":15324140,"uuid":"18054282","full_name":"hprose/hprose-html5","owner":"hprose","description":"Hprose is a cross-language RPC. This project is Hprose 2.0 Client for HTML5","archived":false,"fork":false,"pushed_at":"2018-04-24T15:11:57.000Z","size":2482,"stargazers_count":237,"open_issues_count":3,"forks_count":90,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-30T21:08:19.523Z","etag":null,"topics":["android","apicloud","cross-browser","cross-device","cross-domain","cross-language","cross-platform","google-chrome","hprose","html5","javascript","rpc","rpc-client","rpc-library","serialization","serialization-library","serialize","tcp","websockets"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hprose.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-24T06:59:02.000Z","updated_at":"2025-03-03T08:54:45.000Z","dependencies_parsed_at":"2022-08-26T06:41:03.015Z","dependency_job_id":null,"html_url":"https://github.com/hprose/hprose-html5","commit_stats":null,"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hprose%2Fhprose-html5","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hprose%2Fhprose-html5/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hprose%2Fhprose-html5/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hprose%2Fhprose-html5/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hprose","download_url":"https://codeload.github.com/hprose/hprose-html5/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247557767,"owners_count":20958047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","apicloud","cross-browser","cross-device","cross-domain","cross-language","cross-platform","google-chrome","hprose","html5","javascript","rpc","rpc-client","rpc-library","serialization","serialization-library","serialize","tcp","websockets"],"created_at":"2024-09-24T14:08:51.724Z","updated_at":"2025-04-06T22:10:34.388Z","avatar_url":"https://github.com/hprose.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"http://hprose.com/banner.@2x.png\" alt=\"Hprose\" title=\"Hprose\" width=\"650\" height=\"200\" /\u003e\u003c/p\u003e\n\n\u003ca href=\"https://promisesaplus.com/\"\u003e\n    \u003cimg src=\"https://promisesaplus.com/assets/logo-small.png\" alt=\"Promises/A+ logo\" title=\"Promises/A+ 1.1 compliant\" align=\"right\" /\u003e\n\u003c/a\u003e\n\n# Hprose for HTML5\n\n[![Join the chat at https://gitter.im/hprose/hprose-html5](https://img.shields.io/badge/GITTER-join%20chat-green.svg)](https://gitter.im/hprose/hprose-html5?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![bower version](https://img.shields.io/bower/v/hprose-html5.svg)](http://bower.io/search/?q=hprose-html5)\n[![npm version](https://img.shields.io/npm/v/hprose-html5.svg)](https://www.npmjs.com/package/hprose-html5)\n[![GitHub release](https://img.shields.io/github/release/hprose/hprose-html5.svg)](https://github.com/hprose/hprose-html5/releases)\n[![License](https://img.shields.io/github/license/hprose/hprose-html5.svg)](http://opensource.org/licenses/MIT)\n\n\u003e---\n- **[Introduction](#introduction)**\n    - **[Browser support](#browser-support)**\n    - **[Hybird app support](#hybird-app-support)**\n- **[Usage](#usage)**\n    - **[Exception Handling](#exception-handling)**\n\n\u003e---\n\n## Introduction\n\n*Hprose* is a High Performance Remote Object Service Engine.\n\nIt 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.\n\n*Hprose* supports many programming languages, for example:\n\n* AAuto Quicker\n* ActionScript\n* ASP\n* C++\n* Dart\n* Delphi/Free Pascal\n* dotNET(C#, Visual Basic...)\n* Golang\n* Java\n* JavaScript\n* Node.js\n* Objective-C\n* Perl\n* PHP\n* Python\n* Ruby\n* ...\n\nThrough *Hprose*, You can conveniently and efficiently intercommunicate between those programming languages.\n\nThis project is the implementation of Hprose for HTML5.\n\n### Browser support\n\n#### Desktop browsers\n\n* Google Chrome 10+\n* Apple Safari 6+\n* Mozilla Firefox 9+\n* Opera 12+\n* Microsoft Internet Explorer 10.0+\n* ...\n\n#### Mobile browsers\n\n* Apple Safari on iOS 6+\n* Google Chrome on Android\n* Default Browser on Android 4+\n* Firefox Mobile\n* Internet Explorer on Windows Phone\n* ...\n\n### Hybird app support\n\n* ionic + cordova (http, tcp, websocket)\n* Chrome extentions (http, tcp, websocket)\n* APICloud (http, tcp*)\n* DCloud (http)\n* AppCan (http)\n* ... (http, websocket)\n\nTCP 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.\n\n## Usage\n\nYou don't need use the javascript source files. You only need include `hprose-html5.js` in your html.\n\n### Exception Handling\n\nIf 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.\n\nFor example:\n\n```html\n\u003chtml\u003e\n\u003chead\u003e\n\u003cscript type=\"text/javascript\" src=\"hprose-html5.js\"\u003e\u003c/script\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\u003cscript type=\"text/javascript\"\u003e\n    var client = new hprose.HttpClient(\"http://www.hprose.com/example/\", [\"hello\"]);\n    client.hello(\"World!\", function(result) {\n        alert(result);\n    }, function(name, err) {\n        alert(err);\n    });\n\u003c/script\u003e\n\u003c/body\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhprose%2Fhprose-html5","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhprose%2Fhprose-html5","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhprose%2Fhprose-html5/lists"}