PHPDroid 更新了,集成最新PHP7+Swoole+BusyBox+QRencode 开发 Android 应用。
下载地址:
phpdroid_20160703.apk(5.8M)
phpdroid_20160703.7z(4.7M)
apk里包含PHP-7.0.8和高性能网络编程扩展Swoole,
另外还有BusyBox和生成二维码的qrencode.
7z包是项目源代码,主要就是MainActivity.java和assets数据.
PHPDroid: 基于WebView和PHP内置HTTP服务器开发Android应用
Android从4.4开始,WebView由Chromium驱动,性能今非昔比.
一直以来,浏览器是最成功的跨平台桌面应用.
基于PHP(CLI HTTP Server)+Browser(WebView),
使用PHPDroid,能够轻松像开发WAP手机站一样快速开发APP应用.
有了 android.webkit.JavascriptInterface ,
也可以很容易地把一些Java写好的功能注入到WebView给JS调用.
其中PHP包含了以下常用扩展:
bcmath: Binary Calculator Math,任意精度数学计算函数(bc*).
calendar: 历法扩展集包括了一系列用于在不同历法间进行转换的函数(cal_*)
Core: PHP核心
ctype: 字符类型检测函数(ctype_*)
curl: cURL(client URL)库函数(curl_*,支持http/https/ftp/ftps等协议).
date: 日期和时间函数,是PHP核心的一部分
dom: Document Object Model操作类和函数(DOM*)
exif: 读取exif格式数码照片的信息
filter: 验证和过滤数据
ftp: 用于FTP交互
gd: 用于处理图像
hash: 哈希信息摘要框架(hash_*)
json: JSON编解码函数(json_*)
libxml: dom,xsl,simplexml,xml,xmlreader,xmlwriter,xmlrpc,wddx,soap都依赖libxml扩展(libxml_*).
mbstring: 多字节字符串函数(mb_*)
mcrypt: mcrypt库函数(mcrypt_*)
openssl: openssl库函数(openssl_*)
pcre: 正则表达式库函数(preg_*)
pdo: PHP数据对象(PDO)
pdo_sqlite: SQLite的PDO接口
reflection: 反射,PHP核心部分
session: session_*,会话处理函数
simplexml: XML简易操作函数
sockets: socket函数
spl: PHP解决典型问题库,PHP核心部分
sqlite3: SQLite3数据库引擎
standard: 标准库,PHP核心部分
swoole: 峰哥开发的高性能网络编程扩展
xml: XML解析函数(xml_*)
xmlreader
xmlwriter
zip: 读写zip压缩文件函数(zip_*)
zlib: 读写gz(gzip)压缩文件函数(gz*)
cd /data/data/net.php.phpdroid/php/bin
./php -S 127.0.0.2:8181 -t /data/data/net.php.phpdroid/php/www/
如何打开app 就自动运行这个 php呢
引用来自“rieon”的评论
都没用面向对象,require来include去,水平可见一斑引用来自“eechen”的评论
你说对了,我就是反框架反完全面向对象的PHPer.不爽? You Can You Up, No Can No BB.
引用来自“rieon”的评论
都没用面向对象,require来include去,水平可见一斑不爽? You Can You Up, No Can No BB.
引用来自“小白变老白”的评论
怎么在window下PC端来测试APP呢 楼主的方法没看懂啊引用来自“eechen”的评论
你安装5.8MB的PHPDroid的APK后,用USB线连接手机跟电脑,然后就可以在电脑里的文件管理器查看手机SD卡内容,SD卡下的phpdroid目录就是网站的根目录,你把你的PHP脚本放到这个目录里,然后在手机启动应用就能看到你写的效果了.引用来自“小白变老白”的评论
哦哦 我以为直接在浏览器里面看呢...前面不是说用浏览器的移动模式输入IP地址加端口访问么引用来自“小白变老白”的评论
怎么在window下PC端来测试APP呢 楼主的方法没看懂啊引用来自“eechen”的评论
你安装5.8MB的PHPDroid的APK后,用USB线连接手机跟电脑,然后就可以在电脑里的文件管理器查看手机SD卡内容,SD卡下的phpdroid目录就是网站的根目录,你把你的PHP脚本放到这个目录里,然后在手机启动应用就能看到你写的效果了.这时如果还用AngularJS这类复杂的前端框架,体验就更不好了. 我推荐使用jQuery 2 (84KB) + jQuery Mobile Touch Events (8KB). jQuery Mobile 也是一个挺重的框架,这里只用它提供的触摸事件就够了,其他自己实现. 又因为 jQuery Mobile 1.4.5 还不支持 jQuery 3,所以可以配合 jQuery 2 使用. jQuery 1和2和3这几个大版本,它们的API基本都是相同的,主要区别在于1支持IE6/7/8, 而Android上并不需要考虑IE的兼容.
jQuery Mobile官方提供了一个Alpha版本的Download Builder
可以用来定制自己用到的功能,比如触摸事件(Touch Events):
访问 jQuery Mobile 官网,找到 Download Builder 页面,
勾选 Events 下的 Touch 然后点击页面下方的 Build My Download 下载.
有人可能会说,为什么不用Zepto?
zepto.min.js是25KB,jquery-2.2.4.min.js是84KB,体积上看的确Zepto更小.但更小并不意味着执行效率更高,有人测试过,jQuery2效率要比Zepto高不少.而且就算不谈效率,用jQuery2也能保证功能性和使用各种jQuery插件.jQuery2是官方对jQuery的重构,抛弃IE6/7/8的历史包袱,更加高效,并且jQuery2兼容jQuery1插件(比如幻灯片插件flexslider),适合应用于没有IE困扰的移动浏览器.
引用来自“兆前”的评论
大神 苹果什么时候支持 还有ide什么时候跟上PHPDroid本质还是PHP编程,所以一不需要什么特殊的IDE辅助.
另外,PHPDroid名字就预示着这个是Android上的PHP打包.
还是期待那些使用Mac和iPhone的PHP开发者构建iOS版PHP吧.
不过我猜就算构建出iOS版PHP(--host=arm-apple-darwin10),可能iOS的运行机制也会阻止应用后台启动一个PHP常驻服务进程吧.比如Kodiak PHP就是一个iOS上的PHP,但其需要越狱(JailBroken)后才能在命令行下执行PHP.而Android上的PHP在完全没有这个限制,因为Android,本质还是ARM架构的Linux.
引用来自“YANG_YAWEI”的评论
讲道理,这哥们是有干货的引用来自“falconchen”的评论
有毛线干货,早上看有人发他用PHP写的冒泡算法,看了一眼,我就了解他什么水平了,居然还自吹自擂引用来自“YANG_YAWEI”的评论
讲道理,这哥们是有干货的引用来自“Liuxd”的评论
这个世界需要一些新鲜有趣的东西。感谢 @eechen其实国人爱特很早就打包了Android上的PHP,项目名叫Anmpp,包含PHP+MySQL+PostgreSQL+Nginx等组件,只不过Anmpp的定位是把Android手机打造成一台家用LAMP服务器,Anmpp因为需要监听80端口,所以需要root权限.而我打包的PHPDroid则是用于App开发,不需要用80端口,而且我也只打包了PHP,这样APK(不到6MB)就小得多了,而且也不需要root权限.
引用来自“独立风华”的评论
如果 java 能像 C/C++ 那样,不属于任何一家公司,那也挺好引用来自“554330833a”的评论
能讲一下这个东西的思路是怎么样的吗