Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
So does this mean that people will be able to use Swift to write for Android and other platforms? If so, will that mean programming for multiple platforms will be easier as the code will be similar?
 
  • Like
Reactions: AdonisSMU
you can write in the language, or you can't use Apple's App Stores (which means you can't publish on iOS at all).

You can definitely publish apps without using swift or objective c. Unity & Xamarin come to mind, both use C# and compile to a native binary format.

Unless I totally misunderstood you. Which is possible - haven't had my caffeine yet today.
 
I'm thinking about developing for iOS. I have almost zero experience with any kind of code, except for a little html in the late '90s. Is learning Swift all I would need to get started?

What do you want to make? If you want to make a game, I strongly suggest looking into Unity 3D instead. It's free, has a pretty big community, purpose made for making games, and the games you make in it can run everywhere - iOS, Android, Windows, Blackberry, OS X, Linux, Web Browsers, DS, 3DS, Wii, Wii U, Xbox 360, Xbox One, PS3, PS4, PS Vita, Oculus Rift... Apple TV and Apple Watch support are expected sometime next year.
 
  • Like
Reactions: chitoac
So does this mean that people will be able to use Swift to write for Android and other platforms? If so, will that mean programming for multiple platforms will be easier as the code will be similar?
That's the real value here. It was always possible (on both iOS and Android) to keep your codebase largely C or C++-based, in order to maintain code portability between platforms (the two languages the platforms have in common). With Swift being open-sourced, there is the possibility of replacing that common language with a far more modern one. The future looks bright indeed! :)

EDIT: One minor issue... Apple's github page is blank at the moment. So no source code. :(
 
Last edited:
I'd recommend not digging your heels in on this issue, and reconsider. Swift results in far more stable code once you become familiar with the language and some of its new concepts (which admittedly does take some time!). You'll be thankful for taking the time do learn it in the long run!

It doesn't have new concepts - all of the concepts are old and lifted from other functional languages. I have learned it.

It lacks frameworks for setting up servers using it, and up until now the only servers it would run on would be OS X servers. I like OS X on my development machine, but I wouldn't want hundreds of OS X servers - I'd much rather have Cent OS servers since it's more economical. So I stick with Python and the Twisted framework.

On the front end for games, I use Unity 3D. Right now, Unity 3D's best supported language is C#, so that's what I use. If they support Swift in the future and have better performance with it, I would consider switching. If a competitor to Unity 3D existed, I would consider using it (but I'm already rather invested in Unity 3D, and it's hard to say anything negative about Unity 3D).

On the front end for other projects... well, I don't have any other front end projects right now I'm working on, so I honestly haven't examined that landscape in awhile. Last I checked, I liked Python + TK a lot, but that's limited to Desktop only... I wish there was a TK for web UI...
 
What do you want to make? If you want to make a game, I strongly suggest looking into Unity 3D instead. It's free, has a pretty big community, purpose made for making games, and the games you make in it can run everywhere - iOS, Android, Windows, Blackberry, OS X, Linux, Web Browsers, DS, 3DS, Wii, Wii U, Xbox 360, Xbox One, PS3, PS4, PS Vita, Oculus Rift... Apple TV and Apple Watch support are expected sometime next year.


I'm looking at making a catalog type app (something like Ikea's app). Searching for products in various categories, make wish lists, contact customer service, etc.

I assume most games would be more complex than this, but seeing as I have pretty much zero experience in this, I may be way off with that assumption.
 
As I see it, Swift is an inferior language in most ways to most other languages. It has one thing going for it, which Obj-C had going for it too: you can write in the language, or you can't use Apple's App Stores (which means you can't publish on iOS at all).

Making it open source might fix a pain point - now it might end up being possible to write your code once in Swift and have it run everywhere - but only if people actually port it.

IDK. I'm sticking with C# in Unity 3D for cross platform game development and Python for server side code.

Based on your comment, I can tell your age bracket. I don't think SWIFT is inferior at all. I began coding in Dec 2014 and have already 2 fully-fledged iOS apps that are pretty capable. There is nothing I wanted to do that I couldn't. Including communication between iOS and my javascript library.

In terms of capability, it still has a way to go to match the existing languages but that doesn't make it inferior. Inferior implies that SWIFT can't match other languages ever, which simply isn't true.
 
It doesn't have new concepts - all of the concepts are old and lifted from other functional languages. I have learned it.

It lacks frameworks for setting up servers using it, and up until now the only servers it would run on would be OS X servers. I like OS X on my development machine, but I wouldn't want hundreds of OS X servers - I'd much rather have Cent OS servers since it's more economical. So I stick with Python and the Twisted framework.

On the front end for games, I use Unity 3D. Right now, Unity 3D's best supported language is C#, so that's what I use. If they support Swift in the future and have better performance with it, I would consider switching. If a competitor to Unity 3D existed, I would consider using it (but I'm already rather invested in Unity 3D, and it's hard to say anything negative about Unity 3D).

On the front end for other projects... well, I don't have any other front end projects right now I'm working on, so I honestly haven't examined that landscape in awhile. Last I checked, I liked Python + TK a lot, but that's limited to Desktop only... I wish there was a TK for web UI...

What does Unity 3D have to do with running 100s of servers? Curious
 
It doesn't have new concepts - all of the concepts are old and lifted from other functional languages. I have learned it.

It lacks frameworks for setting up servers using it, and up until now the only servers it would run on would be OS X servers. I like OS X on my development machine, but I wouldn't want hundreds of OS X servers - I'd much rather have Cent OS servers since it's more economical. So I stick with Python and the Twisted framework.

On the front end for games, I use Unity 3D. Right now, Unity 3D's best supported language is C#, so that's what I use. If they support Swift in the future and have better performance with it, I would consider switching. If a competitor to Unity 3D existed, I would consider using it (but I'm already rather invested in Unity 3D, and it's hard to say anything negative about Unity 3D).

On the front end for other projects... well, I don't have any other front end projects right now I'm working on, so I honestly haven't examined that landscape in awhile. Last I checked, I liked Python + TK a lot, but that's limited to Desktop only... I wish there was a TK for web UI...
Well, there's no doubt that Python is one hell of a language. If only the devs cared more about performance. Python's performance actually got worse with Python 3. :( It has made adopting the language for certain tasks impossible. If you have to write most of the code in C anyway for performance reasons, why not just write the entire thing in C and be done with it?
 
So does this mean that people will be able to use Swift to write for Android and other platforms? If so, will that mean programming for multiple platforms will be easier as the code will be similar?
Yes!!! This is exciting and this will also mean you don't have to go through Apple's Store to sell your apps.
 
So... now I can develop in swift on linux? In other IDEs? What does this mean?

This just means the runtime is open source. FYI, the OBJC runtime is also open source. This just spares the OSS advocates (especially the "everything must be GPL3" crowd) of having to create their own runtime, and the ensuing fork-wars that would happen.

Like the OBJC runtime, there is still necessary OS libraries that would be required to build an application, so this doesn't mean you can make something developed in Swift on OSX, and just compile the runtime and run it on Windows or Linux, because the underlying NextStep (NS* functions) aren't there.

Compare with Mono. Initially C# was just Microsoft, and third parties had to re-implement everything Microsoft put into it. This is why Unity is stuck on an old version of C#.NET, it's dependent on Mono. It doesn't let you build a project that depends on Microsoft OS API's on top another OS.

What this allows people to do, in theory, is use Swift as the language instead of something like Javascript, C#, or Lua in another application. In practice, it'll probably just be used to port MacOS/iOS Swift projects to Windows and Linux. It would be amazing if there was a huge uptick in use just to side-step the god-awful Android development Java-hell.
 
Yeah, I just recently started a new app, ground up using Swift. I'm following most of my existing design patterns from my older apps written in Obj-C, and the improvements (old vs. new apps) are pretty astounding. :cool:
What kind of improvements are you seeing?

I just finished my first app (been working on it for a very long time), all Objective-C. I'm planning to learn Swift, but I figured I'd finish my project first. Just curious about this.
 
Well, it's posted in Github. If Apple didn't want to allow people to contribute, I doubt they would have posted it on Github.

What you on about? There's lots on it!
 

Attachments

  • see.png
    see.png
    103.2 KB · Views: 309
People who think 'opening the source' is Apple's philantropic gesture for the better, are in for a ride. Apple doesn't do anything without a deeper reason. They don't care about anything but themselve - maybe except for the developer's community which makes the apps that help them selling devices.

Doesn't mean our interest and Apple's can't coincide.

Look at WebKit. Apple didn't open source Safari's rendering engine as a philanthropic gesture. They did it to break IE's hold on the market, so that Mac and Windows browsers would be on an even playing field. Chrome took WebKit and changed the browser industry. Maybe not exactly how Apple intended it, but it served their purposes. Apple won, Google won, the consumer won.



If Apple wants to get foot in the backoffice market - mainly to let developers build more powerfull server-side counterparts for their apps, they need to have a way to do it.

Exactly. This is good for Apple, good for developers, and good for us. The only one it hurts is competing languages, like C#, if it gets picked up.
 
Don't know what to say about this news. I knew Swift was announced to become Open Source but the fascination of Open Source has worn of quite heavily during the past ten years. So... . Let's see what this gets us. I did not had any interest in Swift so far. The same way I did not had much interest in Objective-C fifteen years ago. Nontheless All my apps of today are written in the latter mainly for the reason that Cocoa is quite an astonishing piece of work from an engineering point of view. If there would be a pure C binding for Cocoa, I would be sold forever. Unfortunately, this is pretty much the opposite direction of where Swift is leading.

I am neutral. It can't be that bad.
 
Just the start - how Swift is adopted is up to IDE vendors and developers. Swift needs a rich developer eco-system( lots of 3rd party libraries etc ) that is seen in other languages such as Java, Python, C#, Ruby etc. Without this, Swift won't be going anywhere.

Without developer support, Swift is just a language... next to useless. Frameworks / libraries are required for the building blocks to create rich applications, such as web apps, desktop applications et al.

IDE vendors need to get behind Swift for other operating systems. Developers don't particularly like using a text editor for development - its slow and inefficient in most part. I wouldn't be surprised if we don't see a Swift Plugin for Eclipse ( if there isn't one already ) pretty soon... ( for Linux / Mac )
 
Last edited:
Just noticed this tidbit from github:

OS X, Ubuntu Linux LTS, and the latest Ubuntu Linux release are the current supported host development operating systems.

Just find it interesting that they favor ubuntu.
 
  • Like
Reactions: nekonokami
Based on your comment, I can tell your age bracket. I don't think SWIFT is inferior at all. I began coding in Dec 2014 and have already 2 fully-fledged iOS apps that are pretty capable. There is nothing I wanted to do that I couldn't. Including communication between iOS and my javascript library.

In terms of capability, it still has a way to go to match the existing languages but that doesn't make it inferior. Inferior implies that SWIFT can't match other languages ever, which simply isn't true.

Are they in the App Store? I'm curious what you have accomplished so far. Thx
 
  • Like
Reactions: 9052042
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.