本项目展示了如何使用一个简单的api后台实现图片库查询及其ReactJS的前端页面程序,包括iOS应用程序的同构写法。
ReactJS的网页程序直接可以从服务器8181端口启动,而iOS的示范程序可以在Xcode模拟器内读取本机服务器 http://localhost:8181 地址。
iOS 程序使用了一个控件 ImageSlideshow 用于图片滚动控制,而内容和服务器接口使用了本项目的api.
使用ReactJS的 Web 前端程序使用了 https://www.npmjs.com/package/react-image-gallery.
两种前端都使用了同一个服务器API接入点: http://localhost:8181/api/v1/image
目前本项目采用 Xcode 9.2 或 Swift 4.0.3 工具链
请复制本项目并按照下列命令编译并启动端口 8181 的 Web服务器
git clone https://github.com/PerfectExamples/ImageLibraryDemo.git
cd ImageLibraryDemo/ServerSide
swift build
.build/debug/ImageLibrary
如果成功则应该能看到下列结果:
[INFO] Running setup: imagefile
[INFO] Starting HTTP server localhost on 0.0.0.0:8181
这说明服务器准备好,请点击链接 http://localhost:8181/ 查看欢迎信息;组合键 CTRL-C 可以停止服务器
服务器运行后可以在浏览器内访问 http://localhost:8181 查看效果。
示范代码在本项目根目录 /ReactClient 下,是一个标准的ReactJS项目。
iOS 源代码位于项目目录 /iOSApp 下,编译则需要使用cocoapods,请在终端内运行 pod install
安装 CocoaPods。安装完成之后即可打开项目空间 ImageSlideshow.xcworkspace
编译并在模拟器内运行。
我们目前正在过渡到使用JIRA来处理所有源代码资源合并申请、修复漏洞以及其它有关问题。因此,GitHub 的“issues”问题报告功能已经被禁用了。
如果您发现了问题,或者希望为改进本文提供意见和建议,请在这里指出.
在您开始之前,请参阅目前待解决的问题清单.
关于本项目更多内容,请参考perfect.org.