Will IOS HTML5 offline app be listed in appstore? - iphone

I am new to IOS development (currently, I'm developing websites in ASP.NET) and I found out that one can create an IOS app using just html 5 and javascript.
Well that is great news for me since I don't have the time to learn Obj-C and xCode way of writing apps.
I have heard some opposing statements, though, on whether I will be able to submit my app into the app store.
Will I be able to submit such app in the app store?
If not, is there a way to 'wrap it up' somehow, so it could be submitted?
Thanks!

No, only native app will be listed in the App store. To submit apps to the appstore you will always need a paid Apple Developers account.
Native in this case meaning real apps that can be installed.
You can build an app in HTML and Javascript in tools like Phonegap and Titanium. These tools will create a native app which loads the local HTML and try to make it feel like a native app.

You will need to use a wrapper, like AppMobi (where I work). This lets you write your app in html, javascript and CSS only.

You need to wrap your application in a UIWebView container. As far as I know, there's no way to package an HTML5 only app for the App Store. I have four apps in there that are HTML5/Javascript apps, wrapped in a UIWebView. There are also third-party frameworks available for this.

Related

Can you bundle an Objective-C iPhone app and an HTML5 (PhoneGap) iPad app to make one universal app?

The apps provide the same functionality, but have different code bases.
Is this possible?
I'm not entirely sure what you mean by "bundle" in this instance. PhoneGap provides the ability to deploy your app to numerous platforms (iOS, Android, Windows Phone) by writing in just HTML5, CSS, and Javascript. Your question states that you have a functioning HTML5 version of the app written for the PhoneGap platform. If this is the case, what is the need for the Objective-C iPhone app? Simply maintaining the HTML5 app should be sufficient to deploy to both iPad and iPhone. PhoneGap currently supports iOS, iPad, and retina displays.
From the PhoneGap documentation, you can specify differences in your interface using config.xml.
You can mix phonegap and native code fairly easily - just have the startup code check the platform type and display either the native view or the phonegap webview.
However, whatever you do at this point will result in some inconvenience to users - the only way to share in app purchases across devices is to have a single universal app. If you want to keep existing purchases, you have to add an ipad view to the existing iphone app, but that will not show up as an update for anyone who has the existing iPad app.
There are other possibilities such as setting up a server to track purchases in both apps, but that gets a lot more complicated than standard in app purchase and only works if your app includes a login system.

native web app?

In one of my projects, the client wants to have an installable app ( native ) but this app will show just a web content in a WebKit ( the web page is built with iWebKit ).
My question is this: Will apple accept this app because the content can be changed, and should it be a web app, not a native one?
If this just opens a website, then no apple will probably not accept it.
If the app is build using javascript and HTML which is bundelt with the app then yes, this is what tools like PhoneGap use.
I believe they should(you never know with apple...), phonegap is using a similar approach, and if you go here, you will see quite a few apps made for iphone.

Is it possible to create a widget for iOS?

I'm a little bit confused now. There is a weather and stock widget on the iPhone. Is it possible to create such a widget yourself? I don't want to talk about new features in iOS 5 here. I only want to know it in general (iOS < 5).
Here I found the introduction guide with the help of Dashcode.
Wikipedia also states that this is not possible. I always thought it would be.
So are there only web apps and native apps possible?
PS: What is a widget exactly? A combination of native app and HTML, CSS, Javascript? Only HTML, CSS, Javascript? A cocoa application?
No, iOS does not currently allow the creation of widgets. The weather and stock widgets you're talking about were created by Apple. There are no APIs to write your own.
As of iOS8, its possible. 3rd party apps will be able to create widgets for the notification center.
http://www.apple.com/pr/library/2014/06/02Apple-Releases-iOS-8-SDK-With-Over-4-000-New-APIs.html
This isn't a Guide for iOS Widgets, it's Guide for Mac Dashboard Widgets.
You can't
create iOS Widgets
change how the iOS Notifications Appear
With Dashcode you can create Web Applications for both iOS and Mac. It's a combination of HTML, CSS and JavaScript. Those Web Applications are only available on the Web (e.g. Safari). If you wan't to create a native App you have two possibilities:
Create a real native Application in ObjC
Create a Web Application (e.g. with Dashcode) and load it into a UIWebView, this requires also ObjC.
Advantages
Web-only Application (Browser-App)
You don't need a Apple Developer Account
Easy to port to Mac and other Smartphones
Unreal-native Application (Browser-App in a native App)
Easy to port to other Smartphones
It feels like a real native app
Your app is on the App Store
Native Application (Real iOS-App)
You have full access to the iPhone Frameworks (e.g. Contacts.app)
Your app is on the App Store
Disadvantages
Web-only Application (Browser-App)
The user needs to know your URL
You're not in the App Store
Unreal-native Application (Browser-App in a native App)
You need to pay 99$/year for an Apple Developer Account
It could feel like it's not a native app
You have not the full access to the iPhone Frameworks except you use something like PhoneGap or ObjC
Native Application (Real iOS-App)
You need to pay 99$/year for an Apple Developer Account
You can't port your app easy to other Smartphone
You need to learn ObjC
No, currently thats not possible. But you can, and should, file a feature request at bugreport.apple.com so that this issue gets some attention.
There is no reason you can't create a widget like component using javascript and display it in a uiwebview. This works equally well in android and iOS
A few years ago when I was involved with java server pages development I put together a tutorial of using dashcode to wrap java or javascript components.
http://www.jsfcentral.com/listings/A21034;jsessionid=A15086803ABF96A63DB1AB5405C9A329?link

Create Mobile Apps with Flash for iPhone and Android with Embedded browser

EDIT:
See my answer
I saw some interesting frameworks to build applications for mobile platforms like Android and iPhone with HTML and Javascript so you can use your current web-development skills without learning a new platform language. That's very interesting because you can write just ONE application for many platforms. Very easy to maintain.
But, you cannot sell it in the App stores, so I’m wondering if it is possible to use an embedded webbrowser in the application that loads an external/included html file.
I have seen that it is possible to create Android and iPhone apps with flash, that's is easy, so i want to create a simple 'host' application that only loads content and I can use it over and over again to distribute a new app.
So the question is, is it possible to create a simple app with flash that embeds a webbrowser to load a html file?
When it is possible, next question is, it possible to communicate with the embedded webbrowser? Also a question is, will Apple allow such application in it app store?
I hope my question is understandable.
In a very strict sense, yes, you can make an app that is just a simple WebView wrapper pointing to your web-hosted app.
This is usually frowned upon though in the android market community, and i'm fairly positive such an app won't make it through Apple's closed-doors decision committee.
On the iPhone, if your app only consist of a UIWebView it is very likely that you app is going to be rejected. What you could do is ask your users to bookmark your webapp adding an icon to the home screen. Think Basecamp for iPhone.
After all this time i got the answer.
Phonegap uses a WebView to display the HTML content. It is a compiled native App with embedded WebView.
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
EDIT/UPDATE:
I tried allot of tools/solutions to create crossplatform apps but all of these seem to do the same thing: It's a executable for the specific platform with an embedded browser. None of them compiles HTML to native code.
Flash (Builder) is something different, it requires AIR (can be compiled into the executable). When you using a WebView (only) with Flash, it is overkill because in fact you do not need AIR to display the HTML in a WebView. I think it is better to use phonegap to 'compile' the executable.

Can I use Dashcode to develop an application that can be sold in the app store?

Can I use Dashcode to develop an application that can be sold in the app store?
No. Dashcode is more for creating webapps. To create an app for the App Store, you must compile it with the iPhone SDK, and for that you need to use Xcode. Furthermore, Dashcode is predominantly JavaScript-based, whereas iPhone apps must be written in Objective-C.
I've never used DashCode, but since you can call up the browser from Objective-C, you should be able to use whatever HTML/CSS/JavaScript solutions work in Mobile Safari. Check out iui, xui, and jQTouch as well.
Some apps lend themselves to the browser solution, and some don't. Unless you use something like PhoneGap, it's quite a lot of glue work to get at the iPhone's special features with JavaScript.