iPhone web application developed using ASP.Net - iphone

We are developing an ASP.Net web application and need that application to work properly on iPhone
Are there any memory constraints for an ASP.Net web application to work properly on iPhone
are there any issues with usage of ASP.net controls like gridview/ tab view etc.
would there be any issues with 3rd party controls like Ajax RADSchduler from Telerik
any other other constraints for a web application to work on iPhone.
Thnx
Amit

If we are talking about a standard asp.net website, memory constraints aren't really the issue. Asp.net just generates (ugly) html with some javascript. Nothing really special about that. Memory in this setup is important server-side. Offcours asp.net tends to generate lots of bloat when viewstate is enabled (without it, too). And this IS an issue when it comes to bandwidth, especially for mobile applications.
When using the Asp.net Ajax Toolkit, it should work crossbrowser. Apple Safari version 2.0 or later versions are supported.
Checkout the docs for the 3rd party controls, which browsers are supported. If Safari is supported, it should work.
But i would suggest using asp.NET MVC instead of standard asp.net controls, because it allows full control over html and javascript. This will ensure minimum use of bandwith and maximum javascript performance. Or any other language/framework with full control like php/codeigniter or python/django. And maybe a javascript library like mootools, jquery or prototype.

I think having a real iPhone to test on would be most optimal.
As for integrating third-party components you should be able to ask the vendor about their support. These Telerisk and Infrastigistic components look great, but you need to ask yourself do you need that amount of power and options, if you follow the mantra of the iPhone and Apple in general you'll want to keep it as simple as possible.
One approach is to develop a different view for the iPhone, keeping the display basic and optimized to the dimensions of the screen and the touch system rather than cursor.
Since Safari is based on Webkit you can get some basic compatibility testing on your local PC.

Related

How to determine if an app is using UIWebView instead of native UI components

There are many apps implement UI with UIWebView and HTML.
The HTML5 is very powerful, that I could hardly tells the difference between cocoa components and HTML elements.
Is there any method to determine whether the app is using HTML instead of cocoa components?
I'm currently implementing a application that the UI view is just a UIWebView pointing to a web site.
It depends on how much like a ios "app" the web site looks like. The only difference I can see is the loading speed of graphics from a web site is slower than locally stored graphics in a app. If you crafted the web site well enough, you would not be able to tell.
There is a big difference in look and feel of WebView app and native applications.. Main difference is UI responsiveness. Native applications tend to behave snappier, table views in those applications scroll more naturally, buttons and controls are more responsive.
It can't be explained in few lines, but you should feel it when using application. We made few cross platform apps with web technologies, and they can't be compared to native ones... No matter how hard we tried to emulate native behaviors...

Optimise ASP.NET application IPhone and Android browsers for ASP.NET application

I have an ASP.NET (not MVC) application.
I would like to create a version that is optimised for browsers on the IPhone and on Android.
Some questions
Is it possible to detect IPhone/Android when the site is accessed
Are there any gotchas/tips for developing ASP.NET for these devices.
We're using a combination of .net webforms and jQuery mobile.
For our viewstate, it's been pretty well neutered already so only minor stuff is going down to the device.
Bear in mind that there are around 3 different mobile api's. Each of which has their own drawbacks. You might want to investigate each.
Also, we took the approach that the mobile site was a completely different website than our standard one. When the user comes in, we do some browser sniffing and push them to mobile if it matches with a link to move back to the full one if they want.
Webforms aren´t good for mobile, it generates big pages because viewstate. And you can´t control rendering (some more in .net4).
You can detect device using a db of capabilities like WURFL (I recommend 51degrees) o maybe using some like http://detectmobilebrowser.com/
I don´t know what kind of webapp but you could make a new app, maybe using MVC. Please look this resource.

How can I develop an iPhone app in HTML5?

I have seen a blog which claims that we can develop iPhone applications in HTML5. Untill then I was aware about Objective-C on Mac.
Can we develop an interface with backend support application in HTML5 on iPhone? Will it be secure and scalable?
If HTML5 is a markup language, then how can I make conditional statements in it? Would it be via jQuery or Javascript?
Which IDE should I use to develop an iPhone app in HTML5?
A great place to start when developing an iPhone app in HTML5 is PhoneGap.
You could either go the full-blown app route by developing an iOS app using PhoneGap, or only selecting certain tools/frameworks to help build a web-based app for mobile devices.
And very much like how it works with websites, HTML is used for the structure, CSS for presentation and JavaScript for behaviour. So yes, JS is used for conditional statements, etc.
Yes.
You can develop an HTML5/CSS3/Javascript app, then wrap it in PhoneGap or Apache Cordova to make it native and put it in the App Store (or Android Market...), as well as publish it on the web. You can do this with whatever tools you're comfortable with.
Using a tool like PhoneGap has many benefits over browser-based Mobile Web Apps, such as allowing you to parse iPhone contacts and access the local hardware.
It's great in combination with jQuery Mobile, but since performance is a MAJOR issue you must be very cautious to really streamline your images, CSS, and Javascript.
See this link to learn more about Mobile Frameworks.
I have seen a blog which claims that we can develop iPhone applications in HTML5. Untill then I was aware about Objective-C on Mac.
If you want to write a native iPhone application, then Objective-C is your only option. However, as the iPhone’s web browser has a lot of capabilities (e.g. offline caching), you can develop applications that run in its web browser, as opposed to natively. They can’t access all the features of the iPhone, and they are simply websites (so you need a server to serve them), but before the iPhone SDK was released, Steve Jobs himself described web apps as the way to write software for the iPhone.
Can we develop an interface with backend support application in HTML5 on iPhone? Will it be secure and scalable?
I have no idea what that means.
If HTML5 is a markup language, then how can I make conditional statements in it? Would it be via jQuery or Javascript?
Correct: JavaScript. (jQuery is just a JavaScript framework, and it’s probably a bit heavy to use on current iPhones.)
The HTML5 spec blurs the distinction between HTML and JavaScript by defining the DOM interface for the HTML elements it specifies, and defining new DOM features (e.g. offline caching) that aren’t technically part of HTML. Apple (and other people) have further blurred the term “HTML5” by using it to encompass various CSS features like animations and transforms, which you’ll probably find very useful for making web apps feel more like native apps.

Webparts in Blackberry

So far I have been creating Web Portal but recently I had a request to convert all the stuff into Mobile Portal.
I have created two webparts, when I place single or multiple webparts of same type it looks fine but when I place two different webparts then its UI gets distracted and it looks bad in Blackberry :(
The UI is fine with IE FireFox and MobileOne(simulator for Iphone), this problem is only with BlackBerry.
Any Idea?? I am using traditional .NET controls and framework to create Mobile Portal.
All three of the browsers you mention have a much fuller set of functionality than the BlackBerry Mobile Browser.
For the best results while targetting the BlackBerry Browser, you need to make sure your WebPart page and the WebParts in it are using very basic HTML Markup. This is one of the situations where you're still better off using tables for layouts rather than CSS.
As long as the rendered HTML is simple, the BlackBerry browsser should be able to handle it fairly well.
You should look that mobile controls are rendering pages in xHTML MP. What are you detecting mobile device? If you are using tradicional browsercaps, then you should up date with mdbf.
Maybe you could use WURFL (Marg.WURFL for .NET) what it replace Mobile Capabilities for WURFL Capabilities.

How do I develop a Web based application in ASP.NET 3.5 that can be viewed on an iPhone 3G?

I want to develop a mobile web application using asp.net 3.5 that can be viewed on an iPhone but there is no longer a template in VS2008 to enable mobile development. Can this be done ?
the iphone uses the "regular" version of your website so developing a "mobile" version would nto accomplish what you're looking for. You should check the browser headers and redirect people to the iPhone version of your site if you detect mobile safari.
http://iphone.facebook.com/
Another option (if you're using MVC) is to have your controller detect the browser and show a different view if it catches mobile safari. This way you wouldn't need a duplicate site, just two sets of views.
A web application (via Asp.Net 3.5) would be accessible over the Internet and would be accessible via the iPhone's Safari browser. There isn't anything truly special you need for it unless you want to make a true web application for mobile devices like the iPhone and Blackberries. In that case, you are looking purely at design aspects since it's still just a website. Due to the diversity of mobile browser capabilities, you'll need to do some research to find out what is recommended for the specific mobile browsers you want to access (the BBC's website comes to mind as a good example of mobile rendering).
Ultimately, the user agent is evaluated by your system and then it renders (or redirects) appropriately. Everything else is design if you want the page to render differently for the iPhone than any other browser on the web.
If you can get your hands on a copy of .Net magazine (a.k.a. Practical Web Design in the U.S.) issue 178, there is a great article on what you need to be aware of when doing mobile development and how the iPhone's browser is a lot different than others.
The iPhone (at least mine which is the 3G version) have full support for "normal" web apps with Ajax and everything. So mostly any Ajax library would be 100% compatible with the iPhone, at least as long as the Ajax library is focusing on Open Standards and such...
[Shameless-Plug I work with Ra-Ajax]
Ra-Ajax have 100% support for iPhone except for "dragging and dropping" which interferes with scrolling on the iPhone. This means that you can use Ra-Ajax (which is an LGPL licensed and Free of Charge library for ASP.NET) to create a "normal" website which will work 100% perfectly (except for dragging and dropping, which is used in e.g. Ra-Windows etc) on the iPhone...
Even the really "advanced" stuff like our Ajax Calendar sample works flawlessly with the iPhone :)