Using MacRuby for developing iPhone apps - iphone

I'm looking to build an iPhone app, but I don't have enough time to learn Objective-C. I already know Ruby and discovered MacRuby. Is it possible to build an iPhone app using MacRuby alone, without any knowledge of Objective-C?

An answer to the question has been updated by RubyMotion:
RubyMotion is a revolutionary toolchain for iOS. It lets you quickly
develop and test native iOS applications for iPhone or iPad, all using
the awesome Ruby language you know and love.

This is a dupe of Can you use MacRuby to develop applications for the Mac App Store? (more or less).
Is it possible to build an iPhone app
using MacRuby alone, without any
knowledge of Objective-C?
In short, no.
All of the APIs (system frameworks), documentation, dev tools, examples, and the majority of the development community use Objective-C. You are going to have to know Objective-C through and through to be able to write an app against the iOS or Mac OS X system APIs anyway.
As well, the MacRuby runtime uses the Objective-C garbage collector that ships with Mac OS X. While porting that collector to iOS/ARM is likely not that hard (the source is available), the system frameworks don't support it; it won't work.

MacRuby is not yet ported to iOS.
An Apple engineer revealed on Twitter last September that work is being done to port MacRuby to iOS.
Until such a release sees the light of day, however, you will not be able to use MacRuby to write iOS apps.
Apple recently let it become known that MacRuby is to be included with the next release of OS X. It certainly looks like MacRuby may be on its way to becoming an Apple-blessed means of developing apps for OS X and iOS. One can only hope at this point, but these early indications are promising.

Related

Developing apps for jailbroken iOS devices?

I know that you need a Mac and Xcode and the SDK. But is it possible to develop apps for jaibroken devices and/or regular devices using Windows/Linux platforms ?
Edit
Also, what's the lowdown on the Airplay SDK ? Heard that it's pretty good but doesnt offer the same performance as an app developed through Xcode.
Found this PDF Document, for what it's
Actually you can, and that's what programming is all about. If you're a tough programmer you can do lots of cross platform and cross hardware stuff. Don't forget that no matter how cool Steeve Jobs is (or pretends to be) for Apple and maybe even non-Apple consumers they care about their profit and would never declare officially that building apps for iPhone and other iOS devices is possible on PC too. This way they make you get a Mac. They've been very successful in making people believe that building apps for iPhone is not possible otherwise.
There's a toolchain for Linux platforms, but it doesn't have Interface Builder or other niceties. Here's an example application that uses it.
You may be looking for theos. Have a look at this thread.
Of course, you will have to have your toolchain installed, which shouldn't be that hard. There are a lot of projects which involve having a Linux iOS toolchain. Windows is another story, though :P (not saying it's impossible!).
Short answer is no - fundamentally iPhone OS uses Cocoa, which is a closed framework only distributed with XCode. Some people have thought about reverse engineering (like Wine) but I don't think anybody has really been successful thus far, let alone use Cocoa as a development environment.
You might be able to create some debian packages (dpkg) that can be run in the background or via the mobile terminal. This is kind of limiting though, because you don't have access to GUI and your app won't be very intuitive.
There seems to be a development platform for porting Blender game logic into a full-fledged iphone game. Maybe you could avoid Xcode this way, but I doubt it.
http://sio2interactive.com/
You could run OSX within Virtualbox/VMWare Player but that's not allowed by Apple.
Don't listen to other people who insist that you HAVE to get a Mac. You just need to download a copy of cracked VMWare with pre-installed Mac from http://thepiratebay.org/. You also need to download a copy of cracked VMWare player from the same site. Then download Xcode inside the Mac. No need to pay for anything. I've been using it and working great.
Short answer -- YES.
Although i'm not entirely sure what you mean by "ONLY" for jailbroken devices, but if you have any experience at all with flash scripts or action scripts then check out Adobe Flash Professional CS5.5. It's a program that lets you design and write your own apps for ipod/iphone/ipad.
http://www.adobe.com/products/flash.html
I've used it for years and find it perfect.

What all a beginner in iphone app development should be aware about? [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
I am a Beginner in iPhone Development, i have worked with .net web and window applications and only used c# language.
i am planning to make simple application for iPhone. After a long searching, i came to know that xcode kit is used in development and objective c is the language used.
i am confused with many questions..please help me
These are some basic things i need to know in a beginner point of view.
What all development tools should be used?
Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
Should i need to register as iOS developer($99 a year)?
How can i test the developed app, should i need a iPhone or is there any simulator?
Is Objective c similar to c# or c++ ?
Can i develop iPhone apps in .net?
What all should i know before starting to develop an app?
Which all database can be used in iPhone apps development
Please help with your valuable answers regarding all the basics to learn iPhone development
1) What all development tools should be used?
Well you need to install xcode and iOS SDK. To get them you have download it from apple's developer website (size in GB's). To run xcode you need a MAC. You need
devices to test your app.
2) Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
You need mac. Search "iphone development on windows" on this site itself.You will get a lot of info.
3) Should i need to register as iOS developer($99 a year)?
Without registering you can
download sdk
start developement using simulator
You can't run on device or upload app to app store without registering.
4) How can i test the developed app, should i need a iPhone or is there any simulator?
Simulator is there. But never upload an app only tested in simulator. You must test on device.
5) Is Objective c similar to c# or c++ ?
I came from C/C++ background and I found objective C easy. You will take 2 to 3 days to fully understand objective C method syntax, property and synthesize,
class and object methods. The most difficult thing to learn for me was memory management. Remember there is no garbage collection in iphone, you will have to
do all memory management yourself.
EDIT: There is a change in iOS 5.0. We still don't have garbage collection. But Now we have Automatic Reference Counting (ARC), which add memory management code at compile time. We don't have to do release/autorelease code, but compiler will do it for you..
6) Can i develop iPhone apps in .net?
No, you can't.
7) What all should i know before starting to develop an app?
Basic programming concepts (OOP
concept, language you will learn
gradually)
Knowledge that you are working on an
embedded device (I know iphone is
powerful, but still it is an
embedded device, not a desktop).
Always make sure you use just enough
memory and processor for your need.
Happy coding..
welcome to the circle of iOS developers =)
To your questions:
What all development tools should be used?
Xcode provides you all you need. The IDE, the Build environment and loads of tools to analyze your code.
Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
I've heard there are also cross platform IDEs available, but I recommend to use Xcode. Xcode runs on Mac OS X – and Apple says, it only runs on Intel architecture. I've heard from some people, they managed to use Xcode on Power PC systems. In the end you will have problems to build your app on that architecture.
Should i need to register as iOS developer($99 a year)?
No need for that, if you don't want to publish your app to the app store OR test on a device. But there is also a simulator for different devices shipped with Xcode.
How can i test the developed app, should i need a iPhone or is there any simulator?
You don't need a device, but it's strongly recommended to get one. Since the simulator mentionded above uses your complete system ressources of your hosting Mac, you may take memory management too easy and explore bad surprises on a device.
Is Objective c similar to c# or c++ ?
It's not wrong to have experience with C and/or C++, the main concepts are the same. But you will see a whole new syntax which might be a little bit confusing for the first time. After you are familiar with it, you will appreciate the "speaking" method markup.
What all should i know before starting to develop an app?
You've already found stackoverflow.com for Questions and Gotchas. I recommend to get some books. Aaron Hillegass has written some nice Cocoa books. But maybe someone else can give you better recommendations.
Well, if you want to publish an app to the app store you....
1-2) DO need a MAC with XCode installed
3) if you want to publish the app on the store, yes
4) XCode + iOS SDK came with an iPhone/iPad simulator, wich works pretty well
(after obtaining a 99$ licence you can also activate some iphones to debug your app directly on the device
5) I mostly wrote app in web tecnology (have a look at PhoneGap for this) so, i cannot answer you, sry
6) If you want to create an app wich have to basically display content taken from the web
you should really consider the PhoneGap way. If you want to program something like a 3D game with hi-res animation or stuff like that you'll probably need to wrote a native (obj C-cocoa) app
Hope this helped :D
What all development tools should be used?
xcode mostly
Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
Yes
Should i need to register as iOS developer($99 a year)?
if you want to put up your apps on the appStore, then yes.
How can i test the developed app, should i need a iPhone or is there any simulator?
There is a simulator with the xcode IDE. if you want to test it on an actual device, you'll have to pay the 99$ a year
Is Objective c similar to c# or c++ ?
its a strict superset of C.
* Can i develop iPhone apps in .net?
not that i know of.
you can develop Phone apps in JavaScript using http://www.appcelerator.com/
What all should i know before starting to develop an app?
What all development tools should be used?
Apple Developer Tools, that you can find here.
Should i need a mac OS system to develop iPhone apps or can i use windows xp OS?
Definitely you need a MacOS system.
Should i need to register as iOS developer($99 a year)?
This is required in order to be able to run your app on a physical device for testing and for submitting you app to the App Store.
How can i test the developed app, should i need a iPhone or is there any simulator?
Developer Tools include an iPhone/iPad simulator. You can also run the app on a physical device.
Is Objective c similar to c# or c++ ?
Objective C is standard C with OO extensions resembling of Smalltalk.
What all should i know before starting to develop an app?
The basic things is that you will learn bit by bit all you need to know.
I would start from reading an Objective C tutorial, to have a grasp of the language.
Then you could access some of the video material that is available online. Check this and also get a look at the many introductory books available out there.

Alternatives For iOS Development Under Windows [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How can I develop for iPhone using a Windows development machine?
iPhone development on Windows
I just got my new iPad and now I have two iOS devices, an iPod and an iPad. So I realized that iOS is a great OS to develop some stuff, but the problem is that I'm under Windows and I don't have any plans to buy a Mac. Anyway what I want isn't the port of the SDK for Windows, so I can develop in Objective-C. But what I want is to know all(maybe) the alternatives that I have to develop for the iPad(that I'm a lot more interested right now) and the other iOS devices.
PS: I'm interested at Application development, not game development
You might find following solutions handy. I have tried to comment those I am more familiar with:
PhoneGap
Sencha Touch - Nice JS framework. Check out their demos.
Rhomobile
Appcelerator Titanium
jQuery Mobile - Version of jQuery optimized for mobile devices.
jQTouch - jQuery plugin for mobile development
CrossMobs - Sdk for iOS and android development (no mac needed).
Nomad - Visual Studio extension for cloud PhoneGap builds (no mac needed).
Delphi XE4 - Delphi XE 4 (no mac needed, you can use macincloud)
Hopefully you'll find an alternative fitting your purposes. It really depends on what you already know. For instance if you are already familiar with Ext JS using Sencha Touch seems like a no-brainer to me.
To get an app to App Store it looks like the only solution (at least AFAIK) is to use PhoneGap for packaging your JS app. You will need XCode (mac) for this. Perhaps it's possible to use a virtualized version of OS X for this as well though I cannot guarantee this will work.
You said you want all the alternatives, so let me add:
I understand you don't have any plan to buy a mac, but change your mind. Buy a cheapest mac.
Come on, you invested already on an iPad and an iPod. Buying a Mac mini shouldn't be so mentally difficult for you.
edit:
#Nathan: why do you hate OS X while you love iOS? As hotpaw2 says, they are basically the same. I believe the kernels are compiled from the same source. Both have a set of basic pseudo-object-oriented C functions for strings and array manipulation, called Core Foundation. The GUI part is done by libraries called AppKit / UIKit, which are basically the same.
In fact, OS X, even in Snow Leopard, has a few remnant of OS 9, while iOS is almost purely derived from NeXTStep.
On OS X Gestalt is alive and well (even after deprecation of most of Carbon), but there's no such thing in iOS! So, if you love OS 9, you should like OS X more than iOS.
I know love and hate are not logical, but you're not at all logical here :)
Another way: u can get an emulator of MAC for PC, and develop on it.
I'm searching as well. I heard the PearPC is very good emulator.
If you want to develop iOS apps for the latest iOS libraries, and not fight with foreign tools and unsupported app installation processes, get a cheap Mac. The OS is nearly the same between Mac OS X and iOS, which is why the development tools work best on a Mac.

Do you need Xcode to program iPhone apps?

I'm interested in making apps for the iphone. I was wondering if it were possible to make apps, WITHOUT Xcode. the only reason is because I'm dirt poor, and can't afford an Apple.
If it's games you're interested in developing, then another option might be to take a look at Unity (http://unity3d.com/). This would let you develop on the PC for free in a friendly environment for a beginner. If you then develop something that you decide you want to publish on iPhone, then at that point you could invest in a Mac and just rebuild the Unity app for iPhone on that.
Also, Unity lets you write scripts in both C# and Java so you wouldn't have to learn Obj-C.
The short answer is no. The long answer is "not exactly," but you can get started in some ways while you're working on getting access to a Mac you can do the work you'd like to do on.
"XCode" is more or less really two things:
(1) an IDE
(2) a toolchain with a C/ObjC/C++ compiler (really a version of gcc) and a big library of apps
You don't have to use #1 in order to build iPhone Apps, though it's genuinely helpful. You can get by with #2.
But without #2, you're going to have a hard time building an App you can sell in the App store.
So, it depends on what your goal is.
If it really is to build an app and get it out there, the easiest path is probably going to be to find some way to get access to a machine running OS (probably 10.5 and up) you can do development on. That might be talking a friend who has one into letting you spend some scheduled time on it, or it might be working and saving up for a used intel-based Mac mini (probably something you could get for $300), or it might be turning a PC you've got into a Hackintosh (or maybe setting up a Hackintosh VM on the PC if you're sharing it with others who might not want it transformed thusly :).
If your goal is to start learning how to do things while you work out how you're going to do the above, though, the good news is that it's not hard to get a hold of tools that will help you learn the technologies/languages involved in iPhone apps. Like I said earlier, Apple's compiler is really just a version of gcc. You can probably install gcc on your machine and write objective C programs with it. You could also look into GNUStep which could help you get familiar with a lot of the concepts and practices underlying how the Cocoa libraries work for the iPhone and OS X. And you could learn OpenGL ES, which would be great help if you ever end up working on an iPhone game.
Actually You can develop apps without a Mac. You can use a number of languages and tools that enable writing apps for iOS like:
- Python
- PhoneGap
- Appcelerator
- Mono
- Unity3D
- Unreal Engine
These all can export to iOS.
The only step that requires a Mac is publishing to the app store. But You can use any Mac for that, so You can publish from a friend's/neighbour's or actually anyone's Mac. That is the last step when You're sure everything is running perfectly. Perhaps Your application will earn You Your own Mac.
Also there are a number of publishing service providers in the internet (which don't cost nearly as much as a Mac). I don't remember any particular one at the moment, but I'm sure if You search You will find many. Good luck!
Unfortunately, although there are 'alternatives' (phonegap, mono touch, etc.) I believe you ultimately need Xcode and its tools to package/sign/publish your applications.
If you are really motivated though, you can look about ways of installing Mac OS X on a PC, though that is beyond the scope of this website.
In short, you need a mac. There a number of screwed up ways to do this without a mac, but for all intents and purposes you need a mac. A mac mini you can buy used for $300 on ebay will do the trick. You don't need a powerful machine.
Though Xcode itself is free it does require an Intel based Mac running Snow Leopard. You have 2 options:
Buy a refurbished Mac Pro or Mac mini from Apple website. They are not that expensive. You can use non-Apple peripherals with them to bring down the cost. And you will not be disappointed with quality.
Use Hackintosh to run the OS X on other Intel platform. Its hacky, difficult (carshes) and illegal.
Update:
For Objective C you can refer a pretty good documentation of Objective C language at iPhone developer portal. There are many other documents like memory management and human interface guidelines which should help you get started.
Once you have developed the familiarity with Objective C, you can then browse through various programming guides on iPhone development centre. If you want to follow a systematic approach, you may refer to "Beginning iPhone Development" book which I found pretty good.
Yes it's possible to develop applications for the mac/ipad/iphone without Xcode and without a mac/ipad/iphone.I own a imac,an ipad,and and a mac book pro.I tried to develop in xcode.
After some quick search on the internet I found this http://www.gnustep.org/. This is a framework you can use to develop in the objective C language,using GCC (the GNU compiler).There are other tools you can use,like GNU STEP Application project:this seems to be a sort of IDE (I didn't test it yet).
Yes and no. You can use alternative SDK's but they can be a pain to use and don't offer the publish/signing capabilities that Xcode does.

Do I need RubyCocoaBridge or MacRuby or both to develop in Ruby for the iPad?

I've heard both MacRuby and Ruby CocoaBridge discussed in relation to iPhone/iPad development in Ruby. Do I need one or both of these?
Neither of those will work. The only way is with Rhodes. CocoaBridge is sometimes used for testing, but can't run on an iPhone. MacRuby might be able to work one day if they add garbage collection to the iPhone OS, but it doesn't now.
Also, consider iPhone Wax, which uses Lua, a fairly ruby-like language.
As far as I know, there is no way to use Ruby on iPhone or iPad and won't be for the foreseeable future. At least if you want your app in the appstore. See this post
Can you develop native iPhone apps in Ruby?