As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What do you think is the best way to develop iphone apps on windows? What are the pros / cons of your method, and why do you use it over other options? How complex is your method in relation to other options?
I am more interested in standalone and web apps but fell free to discuss gaming graphics.
Yes I know you need to build on a mac to be able to put it on the app store, so no "use a mac" answers please.
Running mac OS X in a VMware virtual machine did the job. Easy to do using instructions that can be found with a few quick google searches. This is against the OS X terms of service however...
If you are creating web applications, then all you need is a text editor to create your web pages and an iPhone to test the results. If you want to create a standalone application, there is a project called winChain that claims to be able to setup an iPhone development toolchain on Windows (DISCLAIMER: I have not ever tried using it, so for all I know, the executable could be a trojan horse). One other thing you might consider... you might want to consider Android development given that the SDK supports development on Windows.
No ones mentioned phonegap? You can develop with 1 code base, and then compile to multiple platforms.
http://www.kintek.com.au/web-design-blog/developing-for-the-iphone-and-ipad-by-runing-os-x-10-6-snow-leopard-on-a-pc/
This is a post all about it and how to get t
Try Airplay SDK (www.airplaysdk.com) Standard C++ to AppStore no mac required.
If it doesn't work you're holding it wrong ;)
You should take a look at marmalade http://www.madewithmarmalade.com/ I learned about it from Thomas Henshell of Mirthwerx Games. You still need to join Apple's IOS Developer Program (which at the time of this writing is $99/year). Hope this helps. Supports development on many devices ala phonegap. Even Windows 8 mobile
The best way is always use a real mac that loaded with the latest iOS SDK. If you only have a PC, you can rent a Mac remotely from macincloud.com. It allows you to access an actual Mac server using the windows Remote Desktop Connection (RDP) program. You pay a monthly fee of about $20-$30 and you can start practicing right away.
There actually is a great way to develop iPhone apps on the PC without having to jailbreak your iPhone. Rhomobile has created a hosted development tool called RhoHub that solves this problem and also also gives you some other valuable features like building apps online for all smartphones without having to install SDKs locally. Check it out for free at www.rhohub.com
first of all specify your requirement
if you want to develop web application then it can be develop on windows but its not best way.
but if you want to develop iPhone Native App which uses COCOA Touch API then you will compulsorily go with Mac,no other alternatives for that.
you can develop web App as well as Native App using the COCOA Touch API on MAC.
if any other confusion then leave a comment...and if you satisfy with ans then mark it as correct by clicking check mark sign it will help other guys to refer.
enjoy...
Look into Mono and MonoTouch for .Net developers. It is rapidly improving. Good luck!
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to start developing for iPhone.
I don't have mac.
After reading this question which talks about android , I was wondering :
Is there any site which gives :
What you need to download ( for PC users)
How to configure it
sample code for beginners
There is a lot of info but I didn't find any centralized place for beginners.
Thank you.
For iPhone, you will always need a Mac if you're thinking about doing Native Apps. (Apple make it clear in all Keynotes: Apple Software + Apple Hardware)
Every Android developer here knows it's a pain to test their app in all Android Devices out there cause no one has the same Operating System, they always have a changed version for each mobile company, Apple makes it clear that you need to use their, and only their equipment
Even if you're doing an HTML App and wrap it up with a wrapper framework like PhoneGap, you will need a Mac to compile the code and give you the packages to upload into AppStore.
There is other Frameworks like Titanium witch they will support Windows machines, but I don't recall how they compile the code to the AppStore, probably the same way as PhoneGap, and for that you will need a mac.
PhoneGap and Titanium, as well Sencha Touch, are Frameworks that you can use a language that you know best (HTML and Javascript) - Only Javascript in Titanium and Sencha, and outputs the code in a way that is very similiar to a Native App, and can be easily port to any other OS like Android, Windows Phone 7, Meebo, etc. Just read a little about each one.
Sencha and Titanium are paid frameworks, while PhoneGap is free.
Best approach if going Native on this is buying a used MacMini from eBay or similiar, or even run a Hackintosh (OSX for Windows Machines) in a VM... end to end, you will always need a Mac.
And there is MonoTouch as well, now from Xamarin and the amazing team of Miguel de Icaza.
Even though, you do need the Mac to convert .NET code into "Objective-C" (for the ones that know the compiling process, it's machine code, but for the OP, it's simpler to assume this).
You can use Visual Studio in a Windows machine to program, but you will never compile or even run or debug... you will always need MonoDevelop (The Visual Studio of Mono) and a free MonoTouch license to run and debug in the Mac iPhone Simulator, but you will need a paid license for going to the AppStore.
just for clarification, you can develop everything for Android using Mono for Android, as the Framework where Android runs exists for both Operating Systems (Java), and for this, you will have the ability to use Visual Studio to code, compile and run in the Android Simulator.
As said in the beginning ... you will be best with a used Mac :)
You can indeed develop for iOS on a PC for non-AppStore (jailbroken) purposes - you'll need Linux or Windows+MinGW and the opensource toolchain - I've written some build instructions at http://github.com/H2CO3/ios-toolchain
Also, if you have never done any C programming, I suggest you to grab a copy of K&R C and you begin Objective-C only after mastering C or else you'll be confused regarding the basics.
Centralised information for begginer you can get there: "CS 193P iPhone Application Development" from Stanford Univercity. This is great cource with video lectures and homeworks.
And you should have mac (or hackintosh).
EDIT: Course also available in "iTunes U"
I'm kind of a beginner too. I've started one year ago and have good information for you, where to start.
xCode on Windows: Forget it! You have to work with a Mac.
I don't understand what you need to know under this point..
*3.*There is lot of good stuff free available, if you know where:
A good site is Ray Wenderlich
Another option are Potcasts on iTunes U from the Stanford University.
Follow this along for a while and you will be ready to make your one projects!
And if you need help, this site is a gold mine :-)
The right place to start would be
https://developer.apple.com/
You really need a Mac to develop for Mac. You can do Mac development using Hackintosh but it may be illegal to do so.
For developing iOS and Mac Apps, you will need the Xcode IDE which you can download from the Mac App Store.
The Dev Center has all the documentation you need.
iOS Dev Center:
https://developer.apple.com/devcenter/ios/index.action
Mac Dev Center:
https://developer.apple.com/devcenter/mac/index.action
If you like learning by examples, a good place would be http://appsamuck.com/
You can also build HTML 5 apps for iPhone.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have a client asking about the rhomobile framework. I have been researching it a bit and wanted to see what the community at large thought about the framework and what, (if any), problems you came across in developing with it.
Thank you,
L.
Only the view of the application is rendered in the browser of the platform. There are bindings to access native capabilities of the device from ruby code (taking a picture, accessing GPS data...) and it is possible to extend this with own native code. Of course the view is just HTML and won't be as native as the native UI of the device, but that's the price you have to pay for cross platform development. A big strength of RhoMobile is the build-in sync-capabilities, which lets you synchronize model-data with a central backend.
I have used an app that uses the framework and have to say that it feels sluggish. From reading the documentation it seems like a valid choice if you want to quickly release a cross platform application.
Basically the strategy of RhoMobile is to leverage the browsers on each device to create a "native feel" by styling the web controls to look like "standard" controls on each device. This means you're somewhat limited in what you can do by what the web capabilities are of each OS/device. So each app is a native app, but it still essentially "runs in the browser".
I'm also unsure of how deployment works with the various platforms, like the App Store and Android Market.
You still need a Mac OS X to deploy your app to App Store with these multiplatform Mobile Developer frameworks. Here an employee of Rhomobile develops the app in Windows, yet changes to Mac OS X to deploy it for using Application Loader app, which only works in Mac.
http://rhomobile.com/iphonedevelopmentwindows/
Recently 15 days ago I started learning Rhomobile and developed a few problem.Creating simple applications involving CRUD functionality is cakewalk .
But there are some cons also which I had mentioned in this .apk file build with Rhohub not working on the device
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have very little idea about mobile platforms, though I am interested to program for them.
Would you please compare J2ME VS Android VS iPhone VS Symbian VS Windows CE.
I would like to know:
which one is better
which one should I choose and why
if there is any VM technology to test the programs
is there any IDE, debugging facilities?
Personally, I would like to code for open source, but any suggestions are welcome. I have preliminary knowledge on Java. I would also like to know, if there is anything else that you can recommend.
There's several of these questions floating around on SO already... the most popular seems to be this one: what mobile platform should I start learning?
Quicky from the accepted answer over there (I edited a bit):
I think 3-4 platform have a future. But depends what platform do you like and how you like freedom in distribute your applications :)
Windows Mobile
C++ or .NET
free distribution, just like normal applications or through market
You need a Windows PC to develop
proprietary
Android
Java
Open Source
through Android Market ($25 one-time fees) or like normal applications
The platform is completely open source
iPhone
Objective-C or Java (Developing iPhone Applications using Java)
through iPhone Market ($99/year fees)
You need Mac (Mac OS) for development
proprietary
Java
J2ME or JavaFX
largely open source
My personal thoughts are: Symbian's dead; Windows Mobile will die, but take a long time; Android will become the standard in the next few years; iPhone will remain trendy in coming years, but NOT take be the biggest player; Pre/WebOS will maintain a niche market, but not be wildly sucessfull, Blackberry will decline, but still be around forever. I'd probably put my time/money into Android or iPhone at this point.
You can find everything about J2ME VS Android VS iPhone VS Symbian VS Windows CE in the below survey image:
Admittedly I'm biased, but points in favor of Symbian are:
Is open source
Has by far the largest marketshare (45% or so) of smartphones
Runs on cheaper hardware than Android and iPhone (means volumes will go up significantly faster)
Runs Python, Ruby, Java and Web Runtime Widgets
From Symbian^4 will have a complete Qt stack.
For maximum portability among smartphones, I recommend Javascript, HTML, CSS. It's the only way to run on certain systems you don't mention (such as Palm Pre and Google's ChromeOS), and (with suitable restraint in using advanced features, if you can) it's the one and only way to write your app ONCE and have it run on an incredible variety of platforms. Especially with some server-side support (unless your volumes are huge you can get that for free with Google's App Engine), it's quite a powerful and effective solution for many needs.
Otherwise, you need Objective C and Cocoa for iPhone (excellent technologies, really well supported by Apple esp. if you have a Mac, but won't help for other smartphones AND nothing else besides ObjC or JS will run on the iPhone), etc, etc.
I think iPhone is ruling the hardware and sotfware development,android is interesting but too new,symbiam is dying because Nokia,windows Will survive cause of money with bull€&€& but they will. iPhone is too restrictive and damn expensive but is thecoolest now.Finally i think that for the NeXT 2 years iPhone will reign.
Windows CE has tottaly caputed OS market for rugged devices, companys like motorola, intermec, Dolphin (Honeywell).
Plus Windows CE and Windows Mobile has an enterprise grade database platform.
When comes to spending money, companys buy $1000+ plus devices and build real applications on them.... I see Windows CE being around for a long time and the chart above only show smartphones and no other device, Android and CE can be on in TV's, running gaming system or anything eles.
A detailed market research about Android and iPhone here
and smart phone market share in first quarter of 2010:
(source: nielsen.com)
Take a look at PhoneGap and Appcelerator Titanium if you want to develop for multiple mobile platforms. They both allow you to write programs that run on both Android and iPhone, and PhoneGap also has BlackBerry support. PhoneGap programs are allowed on the Apple App Store, but I'm not sure about Appcelerator Titanium.
My response may be late, but here goes:
I've been exposed via work and academia to both the iPhone and Android platforms for the last year. I find two glaring flaws with both platforms that will limit, if not prohibit, viable entry into the biggest mobile market -- the business enterprise. Oddly enough, the flaws are opposite sides of the same issue: enterprise compatibility.
iPhone - Because Apple exerts ultimate control over what app makes it to the App Store, AND the app must be available to anyone once approved, IMO, iPhones will never become the defacto business mobile device. I cannot envision a business that would willingly expose it's source code to Apple's scrutiny. Nor would I want my "internal use only" enterprise app available for download by anyone in the world. I find that scenario laughable.
Android - OTOH, because Google (and now Oracle, too) exert no control whatsoever on app development, anyone who wants to, regardless of ability, can slap any old app on the App Market whether it works or not. I would not want my app lost in the confusing mix of slap-dash, teenage tinkering, malicious mongering developers. Would you?
However, the tie goes to Android because developers are not compelled to submit their apps to public access in order for them to be distributed.
Any other platform is either niche or passe'.
That's my take on the issue.
RE: Is there any IDE, debugging facilities?
For Android development the best option is to use MOTODEV Studio, based on Eclipse platform. Is an integrated development environment with Eclipse 3.5 and Android Development Tools (ADT) plus automatic download and configuration of the latest Android SDK. You can also test applications on an integrated Android emulator within it.
Java ME has the Java Verified Program and the Specs all come from the Java Community Process (JCP) far more advanced and vendor neutral than the others.
You can also take a look at iSpectrum . With this you can code in Java for iPhone, so you can reuse a lot of your code produced for Android and/or J2ME, for example.
Android would rule the market few years down the line, just because its an open source. No person would want to spend much on apps in future . Iphone till date survives because its trendy to use Iphone(as they say!) because of its UI and people are willing to spend on Iphone apps, so i must say its not far to see a mobile platform(Android) which is trendy, easy to use, free et al.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I know this one is going to be a long-shot, but I thought I'd try. Does anyone know of any automated test anything for the iPhone simulator? I'd love it if there was something like Selenium but for the iPhone simulator. I don't need anything fancy like assertions, just something that can fake out taps on a screen so I can stop abusing my trackpad. :)
Is there a way to send taps or keyevents (like on android over adb) to iOS devices?
iPhone OS 4.0 (just announced) includes a "UIAutomation Instrument" for test automation.
Automated testing
Automate the testing of your application by scripting touch events using the new UIAutomation Instrument.
From: http://developer.apple.com/technologies/iphone/whats-new.html#tools
Here's an article about automated user interface testing for the iPhone that you may find helpful. It's a little kludgy but it probably gets the job done for certain tasks. Note that I haven't yet tried it myself.
Gorilla Logic has just open sourced a true record/playback functional testing tool for the iPhone. It's called FoneMonkey and it's freely available at http://www.gorillalogic.com/fonemonkey.
How to use UIAutomation to create iPhone UI tests:
http://answers.oreilly.com/topic/1646-how-to-use-uiautomation-to-create-iphone-ui-tests/
See also
Test Driven Design for iPhone Native apps
Do OCUnit and OCMock work on the iPhone SDK?
Try this:
http://code.google.com/p/uispec/
UISpec is a Behavior Driven Development framework for the iPhone that provides a full automated testing solution that drives the actual iPhone UI. It is modeled after the very popular RSpec for Ruby
Square just released their testing framework
http://corner.squareup.com/2011/07/ios-integration-testing.html
Telerik just released an automated testing tool for iOS - http://www.telerik.com/automated-testing-tools/ios-testing/ios-application-testing.aspx
Good luck with trying to automate iOS platform with JS. By the time QA gets proficient with JS, well you wouldn't have to be QA anymore. There is plenty of us out there that are familiar with Selenium which in turns means you know Java to some extent. I have found a way to automate iOS using complete open source with Java Libraries.
I put up a video on it:
http://www.vimeo.com/21999946
I will will be putting up more in depth video shortly.
And since its Java it works perfectly with Junit, ANT, Maven in any CI environment.
Check out UISpec http://code.google.com/p/uispec/
It's BDD testing framework that lets you "drive" the iphone simulator.
Best,
Brian
See also http://www.froglogic.com/pg?id=NewsEvents&category=111
Regards,
Reginald
Pick whichever Automation Tool you want from this page: http://www.mobileappstesting.com/category/mobile-application-testing/mobile-application-testing-and-automation-tools/
Eggplant :- http://www.testplant.com/products/eggplant/
I blogged about KIF (Keep It Functional), this is the testframework from the company square and it is really good! I use it to test our iPhone app.
More information and an example how to setup the framework
http://dnlkntt.wordpress.com/2011/12/02/iphone-test-automation-using-kif-keep-it-functional/
Have Fun!
There's also Keynote products. They have:
Test Center Enterprise Interactive (App platform, any device with website / app. Internal / external facing apps and websites, manual testing.)
Test Center Enterprise Automation (App platform, any device with website / app. WITH scripting.)
Test Center Developer (App platform, any device with website / app, manual, no scripting.)
Unknown costs involved, you have to call them. But the feature set is very impressive. They have multiple real devices for each handset and you just select which one you use. If they are in use you can book them etc. I think this is the ultimate option for testing any mobile app.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Have any well-documented or open source projects targeted iPhone, Blackberry, and Android ? Are there other platforms which are better-suited to such an endeavor ?
Note that I am particularly asking about client-side software, not web apps, though any information about the difficulties of using web apps across multiple mobile platforms is also interesting.
The HTML5 standard has support for releasing stand-alone HTML5 apps. Essentially a HTML5 app is a bundle of HTML5, JavaScript and CSS files that will run stand-alone in the browser of the desktop or device. You can distribute them like any other program, including selling them on the iStore for the iPhone.
The support for this is patchy at the moment but is likely to improve tremendously in the next year or two.
Google for HTML5 apps for information and resources. A good introduction to HTML5 is the online book "Dive Into HTML5" by Mark Pilgrim. This is a work in progress, but sufficiently complete to be useful.
There are 2 [newish] solutions to exactly this issue:
rhomobile
and
phonegap
I think there best chance for cross-platform mobile success is the Web. Just write a very simple Web application for what you want to achieve. It should work on the Nokia S60browser, Iphone and Android.
That's already a lot of mobile devices...
Appcelerator, PhoneGap (acquired by Adobe, plus it's now standardized as Apache Cordova), Intel XDK (formerly called appMobi) and Rhodes (acquired by Motorola Solutions) are all open source and create hybrid apps (natively packed with html ui, with the possibility to add some of your native controls).
If it's a game, your only professional choice for a free engine that can be used for commercial development is Unity3D. For 2D games, cocos2d-x is also available. Additionally, Vuforia can be used for AR and LiquidFun for physics.
XMLVM (via Coke and Code) and EdgeLib currently seem to be the most mature options. EdgeLib is aimed primarily at game developers, and according to Coke and Code, the XMLVM developers are difficult to contact.
The iPhone uses Objective C, the Blackberry Java SE with RIM functionality and Android another custom version of Java. I could possibly see how you could combine the latter two but there is no functionality (without jailbreaking) of running Java applications on an iPhone.
The best bet I've seen so far is something like Qt that will run on Windows CE, almost certainly shortly Symbian, some Java platforms and the three major desktop OSs.
redfivelabs have implemented the .Net compact framework for the S60 platform
Titanium Mobile from Appcelerator looks interesting. You develop your app in HTML & Javascript and upload to their server where it is compiled into a native application of the target platform (currently iPhone & Android)
For the iPhone there's currently no such notion as Open Source as the Apple iPhone SDK NDA forbids publishing code. They also forbid posting code on any non-Apple site or even non-Apple discussion forums on iPhone development. As soon as the NDA expires (will it ever?) we'll start having Open Source iPhone apps.
Suprised MoSync hasn't been mentioned here already.
Update (2014 January - present): the project is abandoned.
I started to use a really cool cross-platform SDK called EdgeLib. It allows you to use a simple API and you can compile your projects to a variety of platforms: Windows Mobile Pocket PC, Windows Mobile Smartphone, Symbian Series 60, Series 80, Series 90, Symbian UIQ, Gamepark Holdings GP2X, Gizmondo and Windows desktop.
I know iPhone, Blackberry, and Android are not on that list but the developers mentioned that these platforms are on their roadmap.
EdgeLib looks promising and has an iPhone beta announced but not open yet.
jQuery Mobile Alpha 2 Released
Nimblekit
Sencha
Phonegap
Appcelerator
Well BlackBerrys don't really have Java SE, they have Java ME, with a lot of additional librarys provided by RIM. Same goes for Android. The only cross-platform apps you'll ever see on mobile devices are probably written in strict Java ME, which runs on most devices. However, just like JavaScript between different browser, Java ME has is quirks across different devices, so source code changes may be necessary.
I found one game engine for dat
MoMinis games are available for distribution and are supported on Android, Blackberry, Symbian and J2me devices. MoMinis games include a wide range of casual games – including arcade, puzzle, time management, strategy and brain-training mobile games.
mominis
Phonsai is new in the market for cross-platform mobile develeopment "without coding"
It is mixture of do-it-yourself mobile development and content management
You can customize all applications. No templates.
It is SaaS. Totally web based with java web start.
Work with 2000 mobile phone models.
Very simple GUI and no coding. Just copy and paste.
It has create, send and report modules.
And at last it has 4 emulators inside so that it is a WYSIWYG concept.
You can reach Phonsai at http://phonsai.com
We have a cross platform mobile development platform called RAMP. It covers both feature and smart phones from midp 1 to Android. The platform is mostly aimed at secure commercial applications but it is pluggable so you can do almost anything with it.
For more information and access to the platform have a look at:
virtual mobile tech
S60 on Symbian OS has alot of interesting projects happening relating to desktop/server languages to move applications mobile. Some interesting ones:-
Python: sourceforge
Ruby: ruby-symbian
Mozilla: mozilla
S60Webkit: S60browser
POSIX: openc_cpp