Android RadPHP适合构建应用程序吗?
昨天我尝试了RadPHP,它看起来非常类似于Delphi,它的属性非常好 我设置了一些演示应用程序来测试它,在编译(到android)之后,它似乎是一个编译过的应用程序,它创建了一个webview来显示HTML内容。听起来有点奇怪,是不是 RadPHP是否为iOS创建了一个类似的包,还是这是一个真正的本地应用程序 我无法测试它的iOS版本,因为我没有密钥,也不知道编译后的格式 如果是,苹果会接受创建的应用程序吗 编辑/更新: 我编译了这个应用程序(使用假苹果id),当然失败了,但在输出目录中生成了一些C-Objective(.h,.m)文件。在目录类中有一个名为AppDelegate.m的文件。查看该文件时,可以看到它为WebView创建了一个HTML包装(以下是代码片段): 结论: 它将是一个本机应用程序,但它是Webview的包装器(并非所有应用程序都是本机应用程序)。它与公认答案中所说的完全相同。所有移动应用程序都将使用Webview创建。我认为RadPHP只有在您喜欢编程界面时才有用,但在创建移动应用程序时不需要它(您可以直接使用phonegap)。在RadPHP示例中,您仍然需要mac来创建应用程序(您需要XCode) 苹果接受phonegap生成的应用程序,但它仍然不确定是否能进入AppStore,这取决于你用它做什么。我认为简单的应用会成功。 另见: 关于RadPHP生成的HTML的通知Android RadPHP适合构建应用程序吗?,android,ios,build,radphp,Android,Ios,Build,Radphp,昨天我尝试了RadPHP,它看起来非常类似于Delphi,它的属性非常好 我设置了一些演示应用程序来测试它,在编译(到android)之后,它似乎是一个编译过的应用程序,它创建了一个webview来显示HTML内容。听起来有点奇怪,是不是 RadPHP是否为iOS创建了一个类似的包,还是这是一个真正的本地应用程序 我无法测试它的iOS版本,因为我没有密钥,也不知道编译后的格式 如果是,苹果会接受创建的应用程序吗 编辑/更新: 我编译了这个应用程序(使用假苹果id),当然失败了,但在输出目录中生成
它不是W3C RadPHP使用PhoneGap将您的应用打包为安卓、iOS或黑莓应用。这三个移动平台的工作方式基本相同。这个问题有什么不好,我真的不明白。这个问题没有什么不好,但事实上你已经做了不好的事情。“如果做了,这是一个好的尝试吗?”是非常主观的。因此,这并不是主观问题的正确位置。删除了重复的帖子并删除了“good to go”。但当这个问题不适合在这里提问时,我在哪里可以提问而没有人认为这是一个主观问题。对不起,遗漏了一部分。苹果应用商店确实接受以这种方式创建的应用程序——用RadPHP编写的HTML/CSS/JavaScript,并使用PhoneGap附带的向导打包为iOS原生应用程序。谢谢你明确的回答。我对问题中的解决方案提出了一些意见-请参阅“编辑/更新”
/**
Called when the webview finishes loading. This stops the activity view and closes the imageview
*/
- (void)webViewDidFinishLoad:(UIWebView *)theWebView
{
// only valid if StreambutlerRemoteControl.plist specifies a protocol to handle
if(self.invokeString)
{
// this is passed before the deviceready event is fired, so you can access it in js when you receive deviceready
NSString* jsString = [NSString stringWithFormat:@"var invokeString = \"%@\";", self.invokeString];
[theWebView stringByEvaluatingJavaScriptFromString:jsString];
}
return [ super webViewDidFinishLoad:theWebView ];
}
- (void)webViewDidStartLoad:(UIWebView *)theWebView
{
return [ super webViewDidStartLoad:theWebView ];
}
/**
* Fail Loading With Error
* Error - If the webpage failed to load display an error with the reason.
*/
- (void)webView:(UIWebView *)theWebView didFailLoadWithError:(NSError *)error
{
return [ super webView:theWebView didFailLoadWithError:error ];
}
/**
* Start Loading Request
* This is where most of the magic happens... We take the request(s) and process the response.
* From here we can re direct links and other protocalls to different internal methods.
*/
- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = [request URL];
if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"]) {
return YES;
}
else {
return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ];
}
}