3

Yesterday I tried RadPHP, it looks very similar to Delphi with it's properties which is very nice.

I set-up some demo app to test it and after compiling (to android) it seems to be a compiled app that creates an webview to show HTML content. Sounds a littlebit weird to me or isn't it?

Does RadPHP creates a similair package for iOS or is this a real native app?

I cannot test it for a iOS version, because i don't have a key and i don't know anything about the compiled format.

If it does, will apple accept the created app?

EDIT/UPDATE: I have compiled the app (with fake apple-id) which fails ofcourse but generates some C-Objective (.h,.m) files in the output directory. In the directory classes there is a file named AppDelegate.m. When you view the file you can see that it creates a HTML wrapper to a WebView (here is a snippet from the code):

/**
 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 ];
  }
}

CONCLUSION: It will be a native app but is a wrapper to Webview (not all is native). It does exactly the same like said in the accepted answer. All mobile apps will be created using a Webview. I think RadPHP is only useful when you like the programming interface but is not necessary to create mobile apps (you can use phonegap directly instead). In the examples of RadPHP you still need a mac to create the app (you need XCode).

Apple accepts phonegap generated applications but it still not sure if it made it to the AppStore, it depends on what you doing with it. I think simple apps will made it. See also: http://www.phonegap.com/faq

NOTICE on HTML produced by RadPHP It is not W3C.

Codebeat
  • 6,501
  • 6
  • 57
  • 99
  • 1
    What is so bad about this question, i really don't understand it. – Codebeat May 29 '12 at 11:39
  • 1
    Nothing is bad about the question, but the fact that you have [posted it twice](http://stackoverflow.com/q/10798025/1321873) is not good – Rajesh May 29 '12 at 11:43
  • Also *"If it does, is it a good go?"* is very subjective. SO is not the right place for subjective questions. –  May 29 '12 at 11:45
  • 1
    removed the doubled post and remove "good to go". But when this question is not right to ask it here, where can i ask it without somebody thinks it is subjective question. – Codebeat May 29 '12 at 11:53

1 Answers1

1

RadPHP uses PhoneGap to package up your app as an Android, iOS or Blackberry app. It generally works the same way for all three of those mobile platforms.

Tim D.
  • 26
  • 1
  • Sorry, missed one part. The Apple App Store does accept apps created that way - HTML/CSS/JavaScript written in RadPHP and packaged as an iOS native app using the included wizard for PhoneGap. http://phonegap.com/faq – Tim D. May 30 '12 at 00:59
  • Thanks for the clear answer. I have made some comments on your solution in the question - see "EDIT/UPDATE" – Codebeat May 30 '12 at 12:16