Neeman 是关于选择战斗。将时间花在让应用更优秀的事情上,让网页视图做它擅长的事:展示内容、在不同平台间共享代码并在应用商店提交后保持更新。
将Web应用转变为优秀的原生用户体验。
WKWebView中的JavaScript非常快,现在许多事情都可以在网页视图中完成,但有些东西则无法与原生竞争。例如,由UINavigationController提供的美观过渡。
Neeman是一个WKWebView包装器,允许您快速将Web应用集成到原生iOS应用中。当点击链接时,另一个网页视图会被推到UINavigationController堆栈上。
您可以轻松隐藏需要用原生实现的元素。例如,可以使用CSS隐藏“汉堡菜单”。然后可以用UITabBarController替换导航。您还可以轻松注入可以通过回调执行您代码的javascript。
Neeman是为希望使用现有的Web应用而不是重复开发来提高生产力的原生iOS开发者设计的。Neeman的目标是帮助将Web应用转变为具有优秀用户体验的原生iOS应用。
如果您是Web开发者,可能更倾向于使用Cordova。如果您是Swift开发者或希望成为一名开发者,请继续阅读。
安装
CocoaPods
CocoaPods是一个用于Cocoa项目依赖管理的工具。可以使用以下命令进行安装:
$ sudo gem install cocoapods
尝试
可以使用以下命令尝试Neeman:
$ pod try Neeman
集成
要将Neeman集成到您的Xcode项目中使用CocoaPods,请在您的Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
pod 'Neeman'
然后,运行以下命令:
$ pod install
快速入门
步骤 1
打开您的故事板,并选择一个您想要展示您的Web应用的UIViewController。将其类设置为WebViewController。
步骤 2
定义应显示的页面的URL。
自定义
WebView.css
在此处放置CSS以隐藏您打算用原生控件替换的元素。例如,通过添加以下内容来隐藏菜单:
nav {
display: none;
}
AtDocumentEnd.js
在此处放置应在文档加载后注入的JavaScript。以下是从GitHub示例中获取当前用户名的meta标签的代码。
(function(){
var metaTags=document.getElementsByTagName("meta");
var username = "";
for (var i = 0; i < metaTags.length; i++) {
if (metaTags[i].getAttribute("name") == "octolytics-actor-login") {
username = metaTags[i].getAttribute("content");
break;
}
}
webkit.messageHandlers.didGetUserName.postMessage(username);
})();