What is the best application or programming languages to build an iOS application platform for chat application for beginner like me. Please anyone can tell me about it.
Apple put a lot of effort in its new `Swift' language.
On any Mac computer, you will find XCode on the app store.
iBook has a nice and clear electronic copy of the guide.
I've gotta admit I was a bit circumspect ("yet a new language ?") but it appears has they sell it, solid and sound.(It's compiled and based on llvm. It is open as well, perhaps MIT license?)
I think they basically came up with C# for iPhone (it may even spawn from `mono'?)
But, again, the license model for the source make it sound more promising.
I found the iBook guide for very comprehensive when it came to the very basic of the language and the libraries.
XCode comes with quite a few templates showcasing each major application type. (You can also check the other languages for yourself: Objective-C and javascript)
So the two complement nicely.
If you are starting from scratch, I see no reason not to start on this train.
Since it's straight from Apple, and if coming up with Android isn't yet part of your plan, it will also be your path of least resistance when it comes to technical difficulties.
Related
Is it possible to create an API inside an iOS app to let 3rd party developers create app add-on that are downloadable for users inside the app?
I could not find any ressources for this topic online.
I think that's going to go against the app store guidelines if your intention is that the 3rd party developers write code, which will be downloaded and executed.
There's something of a grey area between legitimate uses and illegitimate uses of downloaded code:
Legitimate Example 1: Something like Hopscotch where children are creating simple fun shared games. These can be considered user generated content.
Legitimate Example 2: A game which is driven by scripts allows for the run-time downloading of patches to fix bugs in the scripts or even to add new levels. I believe such usages have been rejected occasionally in the past, but are generally accepted these days.
The relevant guideline from the guidelines is (emphasis mine):
2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code, including other iOS, watchOS, Mac OS X, or tvOS apps.
And the all-encompassing:
We will reject apps for any content or behavior that we believe is over the line. What line, you ask? Well, as a Supreme Court Justice once said, "I'll know it when I see it". And we think that you will also know it when you cross it.
If your idea is to create some sort of app-store within your app-store app, then I would abandon it immediately, because that's going to be way over Apple's line.
That said, you haven't given much detail about your app, so I might have made wrong assumptions about where you're thinking of going.
Let's assume I want to develop an isometric 2D mobile-game such as Clash of Clans for example.
My main target would be iOS but of course Android would be nice, too (but not a must-have).
Now I have to decide to either program with Apples XCode (therefore Swift as a language, which I am already pretty familiar with), or develop my game with Unity3D (and therefore C# as a language, which I am also pretty familiar with).
Personally, I don't prefer one over the other.
So much for the set-up.
As I don't have any preferences, I'd like to choose the one that offers the most benefits for my 2.5D game to me.
The questions:
Is there a difference in getting an approval for the App-Store if you program in Swift, or use Unity; C#?
How big is the difference of the published package-size of the app between Unity and XCode?
Does my Unity-written app run as smoothly as my XCode-written app?
I hope you could help me with that.
If I missed some points there, feel free to criticize me and give me your opinions on it.
Greetings
Chriz
Is there a difference in getting an approval for the App-Store if you program in Swift, or use Unity; C#?
No, given this general comparison - there should be nothing here favoring or disallowing one over the other.
How big is the difference of the published package-size of the app between Unity and Xcode?
That is very hard to say. There will be added libraries for Unity inclusion whereas Apple would already have shared libraries apart of the OS - used by every app. Think shared libraries here - only Apple is permitted to do this. Not to be confused with the to be newly released iOS 9 'App Thinning'.
The larger weight will be media/images/bitmaps.
Does my Unity-written app run as smoothly as my XCode-written app?
Since they both end up using OpenGL, the end result should be the same or very similar. Obviously as the OS and device mature - if Unity doesn't leverage it, they could end up giving up performance advantages.
But... the flip side of being so tightly coupled with Swift/iOS/Apple, is you abandon your Android market - and if you are even considering it - I'd suggest Unity based on what you shared if there is a remote possibility you want to deploy to Android, desktops, *TV devices in the future.
I am just starting iOS development. I read some tutorials, watched stuff on iTunes U and wrote some sample code myself. Now I want to take the next step. I want to learn about best practices for iOS development in XCode.
Are there any well written and well organized iOS projects that one could take a look at?
(As I see it, iOS is not exactly the place for open source enthusiasts, however.)
Thanks
Mike.
I agree with several of the other answers that state that looking at many, many projects for mini-examples of what you want to do in your own app is the way to go.
However, you asked for an example of an app demonstrating best practices.
You could do worse than to read Matt Gallagher's blog, Cocoa with Love from beginning to end. However, the app example you asked for is right here.
Not only will it show a variety of techniques, some novel design and best-practices, but also he points out where he feels that he might have done something better.
It's a great read.
I would suggest the following process: (it worked for me)
Think of an advanced app. that you eventually want to be proficient enough to create.
Make a top-down problem-solving tree containing the necessary skills required to build your final app.
Use this tree to divide your final app. into 'sub apps'. Start at the bottom of the tree, find a tutorial specifically for that skill, and make a "Hello World" app. that uses that skill.
Keep progressing upwards, creating 'sub apps' as you go.
When you are finally ready to make your final app. (it will take a while), you will have a good handle on how iOS development works. It will also be a great test of your knowledge via direct application!
Getting the hang of iOS development can be tricky; it really does require a top-down approach, and every online resource I've found takes a linear one. The only way that I think a linear approach to learning iOS development would be manageable, is to take it one small task at a time.
As for specific resources, I always google "[what I want to do] iPhone SDK" and browse the tutorials and forum posts that come up.
Here are some open source iOS apps. However, they aren't very well documented and are also very advanced.
TKAWebView - A subclass of UIWebView that handles authentication and downloading.
Welcome to your Mac - An iOS app. to VNC into a PC/Mac and do some cool stuff.
InAppSettingsKit - A settings screen creator for your apps.
Good luck!
The people behind the Parse platform have made two complete projects.
For each project there is the complete source code, a tutorial and the resulting app is also available from the AppStore.
Anywall: https://parse.com/anywall
Anypic: https://parse.com/anypic
They both rely heavily on the Parse platform as the data source, but you still get a feel for an iOS project.
Molecules is a great open-source app that uses 3D OpenGL to render complex models of molecules.
Just keep coding my friend. You'll learn over a period of time. The best way to get dirty in a mud fight is to jump into it... Weird analogy but you get the point.
Maybe someday, we all will learn from you then !
Like you said there many and many source codes are available internet, but most are incomplete.
I found some Open source codes of REAL application currently available through Apple app store are given here
Free iPhone App Source Codes of real apps
and also, you can find many answers here on stackoverflow question - Are there any Open-source iPhone applications around?
You can download free IOS sample projects from http://devcodemarket.com
I realize this is an old thread but I've also been looking for good objective-c code examples recently and I just realized that TextEdit's source code is available at the Mac Developer Library webpage.
Also, here are some popular objective-c libraries that have caught my attention:
CocoaPods
AFNetworking.
you can also go through UICatalog from Developers Library and download the sample code. just google it and you will find a project containing all basics of iphone.
I don't think there is any perfect project that can demonstrate all the qualities of great code. Developers have stylistic preferences and may make mistakes. That said, you should look at a lot of different projects and try to look at the conventions used.
I'd suggest starting on GitHub. Besides for seeing code, you'll see what libraries are out there, which may help further your projects later on. Here's the Objective-C page on GitHub.
(Also, I (GitHub link) think you're wrong about iOS devs not being in favor open source. Yes, there's money to be made, but you can't sell a CSV paring library on the App Store as is.)
Have a look at https://github.com/mozilla/firefox-ios
That is Firefox for iOS, written in Swift.
Cocoacontrols has a wide range of controls written using Objective-C & Swift.
I believe these days, this is one of the most famous website for iOS Developers.
But, before you jump onto this, you have to learn Objective-C & Swift very well, so that you will understand how to use the controls in your app which makes your app smooth.
An Ocaml interpreter app was put up on iTunes last November. I've done some Haskell programming, and briefly looked into Ocaml at one time, but never really became acquainted with it. I have a new iPad, and am curious whether the Ocamlexample app available on iPad can actually be used for anything other than working through tutorial exercises.
I.e., does anyone know if it has the capability to save scripts (in its sandbox, of course), and any ability to export results (other than cut and paste)?
I can't find any references on Google much more current than last November, so it would appear that no one is actually doing anything with it.
Apple dropped many of their restrictions on iOS software development on September 9, 2010. Here is the press release announcing the changes:
Changes to development agreement Sept 9, 2010.
The only restriction now is that you can't download code. I.e., you can't have an embedded language implementation that is its own app platform.
This does limit the usefulness of an interpreter, but there is no rule against interpreters per se or against saving and reloading scripts in a particular iPad.
You can also compile OCaml to run on iOS. That's what I'm spending my time on right now, and I'm selling an OCaml iOS app in the iTunes Store. Visit my profile for a link.
(Hmm--I just noticed this was a pretty old question. Sorry for any extra noise.)
You can download scripts, but only if the mac/pc is tethered to the ipad and you use the dropbox function of ios. in theory this could be a program which opens a socket for your own protocol, however I have not tried this. It would have to be a single threaded protocol because Lwt is not implemented
From the way it's pitched, and knowing the App Store's rules, I don't think it's actually for making OCaml scripts. It just lets you do a limited set of calculations and drawing operations. Apple would reject it if they actually thought it was a programming language interpreter.
Could someone provide a good link to book about how to develop iPhone application with the Perl programming language?
Why would you want to use Perl? You'd miss out on everything the iPhone SDK gives you, and you wouldn't be in the iTunes App Store.
If you are trying to use Perl because it's the only language you know, just bite the bullet and learn Objective-C. Use the right tool for the right job. Despite how much I enjoy working in Perl, I don't think it's the answer to every problem.
However, if you did want to use the Perl route, you could use it to drive an HTML-based app. You end up installing a mini-website with local storage, etc, on the iPhone. Building iPhone Apps with HTML, CSS, and JavaScript is in O'Reilly's Open Feedback Publishing System, so you could see how to do that for free. Perl might be a tiny, server-side component of that.
Generally Perl is not a good choice here. Without jailbreaking the iPhone, you will need to compile perl into a static library and link it against your byte-compiled code (or build a small app that glues the two together). This seems a lot of work for little benefit, since Perl has no bindings to the various Cocoa and UI elements you'll need to manage your run loop. Why do you want to use perl here?
Jailbroken development is outside the license agreement. Searching "perl iphone" will give you several links on the subject, but I really can't go much further into that.
If you insist on Perl, relax your constraint on it being an iPhone "application". Make it a web application targeted for the iPhone!
Pros
You can use all the Perl you want! Even Catalyst!
Any version of Perl you want, in your own configuration.
Cross platform with other mobile/Internet devices.
Way easier to deploy updates and bugfixes.
Cons
Requires a constant internet connection.
Is accessible outside of the iPhone enviroment.
Isn't in the iTunes store.
Tradition breaker.
If you mean backend to a iPhone application (via XMLRPC), then we are all behind you I believe.
I think Perl is a fine choice for writing a web based mobile app.
mate it with one of these tools for creating a native look and feel for a variety of mobile platforms:
http://code.google.com/p/iui/
http://www.phonegap.com/
http://www.jqtouch.com/
my 2 award winning iPhone mashups run on Perl :)
http://imoviemash.com
http://imusicmash.com
Al