# HomeCenter **Repository Path**: javalovercn/homecenter ## Basic Information - **Project Name**: HomeCenter - **Description**: J2SE/JavaScript+CSS编写双端(容器将服务端实例的UI生成HTML5+JavaScript+CSS,并展示到移动端)跨平台家庭云和移动语音助手,Android/iPhone随时访问。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 61 - **Forks**: 19 - **Created**: 2017-06-01 - **Last Updated**: 2025-12-23 ## Categories & Tags **Categories**: develop-tools **Tags**: None ## README **根服务器(为本服务器提供基础服务)已停止运行,本系统的客户端不能连接到本服务器!** ### 开发示例 ![screenshot](http://homecenter.mobi/images/sc_mlet.png) 采用J2SE+CSS技术,为安卓、苹果手机实现上述跨平台功能。详见四步开发过程,点[这](https://gitee.com/javalovercn/homecenter/blob/master/samples/用J2SE+CSS开发跨手机平台的云应用.md)。 *** ### 手机演示 1. 下载[手机端](https://homecenter.mobi/zh-cn/pc/downloads.htm),点击“演示”按钮即可。(或输入帐号:012345,密码:012345) *** ### 服务器主要功能 1. 安卓/苹果手机扫描家庭工程包(HAR - home archive)的二维码,即扫即用。 2. 家庭工程包内含移动端菜单、移动端交互组件、JRuby脚本、jar库(既包含移动端UI交互代码;又包括服务端语音命令响应、任务执行脚本及jar库),还能自签名和联机升级。 3. 每个服务器可加载若干家庭工程包,每个工程包彼此独立,互不干扰。 4. 服务器端新型交互面板HTMLMlet([开发示例](https://gitee.com/javalovercn/homecenter/blob/master/samples/用J2SE+CSS开发跨手机平台的云应用.md)),采用JComponent+Listener+Layout+CSS编程,用户访问时,生成手机端所需的HTML5+JavaScript+CSS,并将响应生成J2SE Event,驱动Listener。 5. 能加载并调用JavaScript的[ScriptPanel](https://homecenter.mobi/download/javadoc/hc/server/ui/ScriptPanel.html),象JButton一样,可方便地添加到HTMLMlet中。 6. 无需编程,语音命令直驱菜单项或打开HTMLMlet(如果有JComponent的ToolTip匹配)。 7. 只会与您说说,不,还会做,做任何您想做的(如果您喜欢编程)。手机语音编程接口(让Android和iPhone识别您的语音),轻松将手机打造为专属、贴心的智能助手([图灵机器人开发示例](https://gitee.com/javalovercn/homecenter/blob/master/samples/简单语音编程,将手机打造成智能助手.md)) 8. 家庭或工作组成员不仅共享同一服务帐号,还能根据成员标识进行区别化编程响应。 9. 内置Cron表达式的Quartz任务调度包和HSQLDB数据库([示例](https://gitee.com/javalovercn/homecenter/blob/master/samples/用cron高级定时任务驱动JRuby脚本.md)),用企业级利器解决家庭定时任务,简洁、不失强劲! 10. 代码编辑器包含Java 10 API、Ruby 2.2.0和CSS 2.2(部分)文档。不熟悉Ruby?鼠标移到方法上即可显示文档。 11. 🔺Android版服务器不含代码编辑器🔻,桌面版服务器(Windows, Linux, Mac)包含代码编辑器。 12. SecurityManager,让每个工程运行在可配置、受限的计算和联网环境内。 13. 物联网分层架构,采用简洁的Robot+Converter+Device三层结构,既方便表示层调用,也赋于强大的设备适配及数据格式转换复杂情形(可组合情形:仅Robot,Robot+Device,Robot+Converter+Device)。 14. 代码异常可推送至开发者的邮箱或网站,如果最终用户允许上传。 15. 因为使用了[“J2SE for Android”](https://www.oschina.net/p/j2se-for-android/)库,HAR能直接运行在Android版服务器上(不含代码编辑器),自动对jar库进行dex转码。 *** ### 定制您的专属语音化、移动化、智能化、自动化生活场景 1. 语音交互家庭物联智能家居或云端智能机器人(常为JSON请求和返回) 2. 后台业务统一归集到移动端 3. 可编程家电遥控器:空调、烤箱、微波炉、开关、灯泡(非手机红外) 4. 设备任务实时状态查看、提醒、监控、报警和交互控制 5. 远程访问服务器,电脑主机任务启动、停止、暂停、定时管理,远程桌面到手机(穿透能访问外网的任何防火墙) 6. 云监控网络、应用运行,告别收邮件和短信,第一时间发现、处置故障 7. 自主模式:自建服务器,开发、管理工程,和家人使用同一账号 8. 托管模式:开建托管服务器,将帐号和密码交付用户([配置过程](https://gitee.com/javalovercn/homecenter/blob/master/samples/在托管主机上安装无界面服务器.md)) *** ### 最佳开发实践路径(推荐) 1. 不熟悉CSS或调试JavaScript,先用喜欢的编辑器修改,浏览器检验,而非服务器的代码编辑器。 2. 被添加到HAR的jar库,应在Eclipse等Java开发环境下充分测试。(不同工程加载的jar库完全隔离,不会引起名称和版本冲突;同一工程,要防止名称冲突。) 3. 🔺Android版服务器不含代码编辑器🔻,桌面版服务器(Windows, Linux, Mac)包含代码编辑器。 4. 调试JRuby脚本和HAR工程,宜用桌面版服务器,即便目标环境是安卓版服务器,也应如此。 5. 目标环境为安卓版服务器时,需检验HTMLMlet等UI及Listener,因为安卓版不完全支持J2SE的Swing。用桌面版服务器代码编辑器修改代码,一键热布署工程到同一内网的安卓版服务器,实现即时修改,即时布署,即时测试。 6. 由于上步会同时使用两个服务器,注册时,请使用不同帐号。如果出现帐号冲突而不能连接,根据提示更改帐号或验证帐号。 7. 输出日志,使用ProjectContext.log()和ProjectContext.error(),每条消息会自动加上前缀"[YourProjectID]",对于安卓版服务器,日志还能输出到LogCat(由于过滤条件为正则表达式,"[]"前需加"\\"),需开启【option/developer/LogCat】。 8. 为在Eclipse等IDE的Console中显示日志,新建工程,从[发布版](https://github.com/javalovercn/hc_server_dist)中添加 starter.jar,设置Main class为"starter.Starter",设置VM arguments为"-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8",并在启动服务器后,禁用服务器选项【option/developer/Logger】。 *** ### 源码使用步骤 1. JRE/JDK 7或以上。 2. 启动类(main class) : hc.App 3. 虚拟机运行参数(VM arguments for main class) : -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 4. 早期版本Eclipse可能编译出错,请设置【Compiler compliance level】为1.7,不要1.8或更高。 5. properties文件编码为UTF-8。 6. 常更新代码,以免手机端升级而出现低版本服务器提示。 7. 设计器内的演示工程(不是“MyFirst”工程)涵盖约90%服务器功能场景和80%Ruby语法。 8. 按下alt+/组合建,可获得代码、[API文档](https://homecenter.mobi/download/javadoc/index.html)提示。 9. 开启个性定制之旅,运行本源代码或[发布版](https://github.com/javalovercn/hc_server_dist)。 10. 任何问题,创建[issues](https://gitee.com/javalovercn/homecenter/issues/new)或电邮:help at homecenter.mobi,我们会快速处理。 *** ![splash](http://homecenter.mobi/images/splash_n_txt.png) *** ![screenshot](http://homecenter.mobi/images/sc6.png)![screenshot](http://homecenter.mobi/images/sc8.png)![screenshot](http://homecenter.mobi/images/sc_mlet_bg.png) *** ![designer](http://homecenter.mobi/images/usage/pc_designer.png)