Several of us chatted on Twitter about this yesterday.
Just because it’s open sourced it doesn’t mean that it will become a viable cross platform tool. Or a dev tool that will be supported.
Also add in that Windows is not supported right off the bat is also an interesting twist. Since it’s not supported on Windows I suppose that means someone will port it. How good those efforts will be and how many different attempts there are will also be interesting to see.
Xojo is a RAD tool. I don’t see Swift as being a replacement for that.
Swift is also a young language and seems to be the language of the day. A few years ago it was Objective C, before that Ruby on Rails, before that C#, and before that Java. Something else will be along in a year or so that everyone will jump on.
Also, I just don’t see the ability to compile to Mac from Windows or Linux or visa versa for many years. And who knows what the IDE’s in Windows and Linux will actually look like and perform.
You young guys have only see a few of the “best thing since sliced bread” programming languages.
Long before the Internet there were others that were going to be the end of all the competition.
COBOL ?
PL-1 ?
and probably a few dozen more
They come … they go
There is probably room for a few more before the “ultimate” one is invented. ;-))
As Bob said XOJO is a RAD tool and that is different than just another language. And there are a few multi-platform versions of those kicking around too and were going to be the next “RAD Sliced Bread” and make all others obsolete.
To use a phrase I once heard: If everything was a nail you would only need hammers.
in regards to Windows/Linux etc. Its not a matter of porting “Swift” so much as the entire Xcode infrastructure. Sure Swift could be “replicated” from a syntax point of view, but that is not what open-source would do
Keep in mind the Obj-C language/compiler has already been open sourced in much the same way for a while. They are specifically talking about the Swift compiler and system libraries. This does not include cross platform IDEs or UI/frameworks. The IDE and frameworks are really what help make the Xojo experience.
So the new thing is that later this year you’d be able to take a Swift console app (that doesn’t use the Cocoa/UI frameworks- a rare thing) that you built in Xcode and then potentially run it on Linux. That’s not nothing, but it really isn’t the same thing as the Xojo experience…
That will be handled on each platform I expect, with Eclipse, Visual Studio, etc. Swift does some things really well, and is is technically a well designed language. In many ways, Xojo and Swift are very much alike syntax wise.
But the value of a language is where and how you use it - Xojo’s language is incredibly useful because of all the support libraries and the development environment. Much like Xcode on MacOS, Visual Studio on Windows, and Eclipse on all the Linux./Unix variants, except Xojo is able to compile for all three of those environments, plus web and iOS.
I doubt very much if Xojo will be supplanted or forgotten, though it would not surprise me at all if Xojo picked up some swift, or even evolved into accepting and compiling Swift code to some degree or another.
But who is going to do that? Who has such a vested interest to make entire UI frameworks for multiple platforms? They’ve open-sourced a language, which is cool, but that’s it. Its impact is realistically going to be minimal to most end-developers. As a language, it will receive a little more acceptance in certain quarters just by the virtue that it’s an open-sourced language but that’s a galaxy away from creating UI frameworks, IDEs and so on.
Apple open-sourced the heart of OS X, Darwin, 15 years ago. The impact to the average developer/user is minimal.[/quote]
Windows 10 was announced yesterday (at least to developers) as available for Raspberry PI2 and Arduino. I have to say, Windows 10 is a very attractive platform, what with all Microsoft is doing lately. It is a great time to be developing code, with Apple and Microsoft competing for hearts and minds again. Nice that Xojo works on both platforms, though I do not know if they have any plans for code generators on those platforms.
Windows 10 for Pi was announced a while back, but you should note that it ain’t Windows-as-you-know-it. It’s an Internet of Things version so will be very limited. Cool but limited.
I expect that Swift as an open source language may go the same route as Python and several others
Lots of ports
Lots of use for certain tasks
But not a lot of UI toolkits
So its useful as x-platform as a system level tool but beyond that no so much
[quote=193044:@Norman Palardy]But not a lot of UI toolkits
So its useful as x-platform as a system level tool but beyond that no so much[/quote]
Still it is tempting:
One of the reasons Windows developers didn’t care for multi-platform programming was that the only language to “play” the Objective C Runtime was Objective C and that there was a kind of “lock-in” because of the Cocoa libraries. Now it is the other way around and there is no real hurdle like Cocoa when it comes to Windows or .NET. RemObjects has already developed a Swift clone for Java and .NET, so it is a doable task especially with the source code available.
I think it is a very smart move of Apple. If the open source community jumps on this, soon Windows developers will find C# a clumsy language. And F#, which I very much like, has never made it. Imagine a Swift .NET being successful…
My two large applications from 2010/2011 have developed further in the last three/four years. Besides minor changes I started to make them more and more multi-platform. By that I mean that I have separated the UIs for OS X and Windows, while keeping the models (as in MVC) and also a parts of the controllers the same for both. I do all that with a lot of declares into AppKit and the WinAPI. The applications look much better now. The Xojo desktop UI library really lags behind, which is understandable by some degree, but in the end as of 2015 in my opinion cross-platform UI looses vs. multi-platform UI.
Until now there was just no language to do multi-platform programming now there maybe is very soon one. I would probably switch I invested three serious weeks in Swift in January, and I must say, it is really a great language.
I doubt Apple cares at all who uses C#. The community wanted Swift open source and there’s no harm in doing it, so be it. I wouldn’t read into the Linux aspects too much. Apple is probably tired of using old Java WebObjects so they are going to start doing internal tooling in Swift, why not?
I’d be quite surprised if they tried to retool significant internal stuff in Swift
iTunes or the Apple store would be enormous jobs to retool
As far I I recall both were originally in the Obj-C version of Web Objects and transitioned to the Java version
I guess the main interest of having Swift on other platforms would be to facilitate porting existing Cocoa programs. But then there is no such thing as a Mac Swift app without the Cocoa framework. No Cocoa framework in Windows, Raspberry pi, etc, etc…
As long as Xojo keeps current with technology, it does compete well with other development tools. At least on the pure result, for us lucky who use it as a competitive edge. But lets be realistic. In the greater scheme of things, it will never be as popular as Swift on Mac and iOS, C## on Windows, or Java on Android…
I do not program in Xojo just because it’s cross platform or because it’s open source (cause it’s not of course). I program in Xojo because it makes cross platform application development as painless as possible. I highly doubt that Swift will ever get to that point.
By painless, I don’t mean the language. I could really care less if it is Basic, C, Swift, Objective C, Python, Ruby, etc… An IF statement is an IF statement (for the most part). By painless, I mean I have a GUI editor where I can drag-n-drop controls, the libraries included are powerful enough for most tasks, I click one button to build on Windows, Linux and OS X and my users don’t realize they are not using a native application on their platform because they are using a native application on their platform. I then take the code I wrote and share it on GUI, Console and Web applications.
Right now, you can’t even program a single SWIFT code base and compile an OSX and/or iPhone App… the frameworks are not the same. Business logic… sure… GUI… not so much… and I consider that to be “cross-platform” at some level