Cross-platform development is the Holy Grail of programming because the idea is to write one set of code that can run on multiple platforms. The reality is that such cross-platform development always comes at a price.
The first price is that cross-platform development can’t take full advantage of the features of any particular platform. The moment you use specific operating systems, your code is no longer completely cross-platform.
It’s still far simpler to modify a small chunk of code rather than rewrite an entire project from scratch, but cross-platform development often targets the lowest common denominator of each operating system and often lags behind supporting the latest feature of any particular operating system.
Of course the greatest appeal of cross-platform development is writing one program to run on multiple platforms. If you’re willing to accept limitations in return for greater productivity, then you’ll likely want to look at cross-platform development tools.
Java represents the so-called “write once, run everywhere” mantra of cross-platform development. While you can technically write Java code to run on multiple platforms, the reality is that Java never completely fulfilled its promise.
One huge advantage of Java is that it’s the main programming language for Android and can also be ported to iOS, so if you’re looking for a mobile cross-platform solution, Java may be the answer.
Another possible solution is Xamarin, which lets you use C# code to create Android and iOS apps as well. Best of all, Xamarin is free and can run on either Windows or macOS. If you’re already a Windows developer familiar with C#, Xamarin is an attractive solution.
For desktop cross-platform capability, there’s Xojo, which offers a Visual Basic-like development tool for creating Windows, macOS, Linux, and iOS apps. Android support is coming soon and the price ranges from $99 to target a single operating system such as Windows or macOS, up to $299 to write iOS apps. For $699 or $1,999 you get more features.
One of the strangest cross-platform tools is LiveCode, which lets you create Windows, macOS, Linux, iOS, and Android apps. LiveCode is based on Apple’s old HyperCard card and stack metaphor that uses a unique programming language that closely resembles English sentences.
As a result, LiveCode syntax tends to be wordy and far different than traditional programming languages, but for novices, this can actually be a benefit. The huge drawback with LiveCode is their ever-increasing price annual price.
Initially LiveCode charged $299 a year, then $499 a year, then $699 a year, and now they’re up to $999 a year. This effectively prices them out of the reach of most people and insures that LiveCode will never become a popular option.
Cross-platform tools are great for tackling multiple operating system markets at once, but beyond Java and Xamarin, there may not be much of a market for cross-platform skills in specific tools like NSB/App Studio, Xojo or LiveCode. If you learn one of these tools, be sure to learn a more general programming language like Java or Swift as well.
Cross-platform tools aren’t the magic bullet for writing software but they do offer some advantages in writing a project once and running (and selling it) in multiple markets. Just weigh the advantages against the drawbacks and maybe a cross-platform tool will be the solution you’re looking for.
Posted in LiveCode, Programming, Xojo
Back in the early days of the PC, VisiCalc dominated in the spreadsheet market. Two rivals soon appeared called Context MBA and Lotus 1-2-3. The biggest advantage of Context MBA was that it was written in UCSD-Pascal, which gave it cross-platform capabilities. That meant you could run Context MBA on MS-DOS or CP/M-80. Since nobody knew which operating system would dominate, this seemed like a smart bet.
On the other hand, Lotus 1-2-3 only ran on MS-DOS. That seemed like a huge limitation except that Lotus 1-2-3 was optimized for MS-DOS so it ran extremely quickly while Context MBA ran much slower on every operating system. As history shows, the world chose Lotus 1-2-3 and left Context MBA in the dustbin of history.
That’s the difference between coding for cross-platforms or coding for a single platform and optimizing your app to run on that one platform. Use a cross-platform tool like Xojo or LiveCode and you’ll get suboptimal performance on every operating system. Use Xcode and Swift to create iOS or OS X apps and you’ll get optimal performance along with the ability to take advantage of every feature offered by Apple’s frameworks.
What’s the drawback? With Xcode and Swift, you can’t make cross-platform programs that might run on Windows, Linux, or Android. That means you have to bet that iOS and OS X will be the platforms of growth just like Lotus 1-2-3 bet that MS-DOS would be the platform of growth.
In hindsight, Lotus 1-2-3 made the right choice. Today, it’s easy to see that iOS dominates the mobile market with the iPhone and iPad, and OS X is steadily growing as Macintosh sales steadily creep upwards while PC sales gradually decline.
Windows and Android represent huge markets, but iOS and OS X represent growing markets. Remember, at one time CP/M-80 was the dominant operating system and MS-DOS was the upstart. Obviously Lotus 1-2-3 bet on the upstart and won big, while Context MBA hedged their bets and lost all the way around.
The lesson of Context MBA and Lotus 1-2-3 is that native apps optimized for a specific operating system will give you greater performance. You just have to make sure your’e betting on the right platform.
Since iOS dominates the mobile market with the iPhone and iPad, it’s obvious that iOS will remain lucrative. Although Windows dominates the desktop computer market, it’s also easy to see that OS X growth is continuing, so there will be a steadily growing market for OS X programs.
Since mobile computing is growing rapidly and represents the future, it seems safe to say that iOS is the future. So decide what’s more important to you: cross-platform or native and optimized performance. Judging from the past of Context MBA and Lotus 1-2-3, it seems likely the answer will always be native, optimized apps.
To read a short history of Context MBA, click here.
Posted in iOS, LiveCode, Programming, Xcode, Xojo
In the past I avoided using Xcode and Objective-C any more than necessary because they were too complicated and cumbersome to use. In comparison, Xojo and LiveCode are two third-party development tools that are much easier to learn and use than Xcode.
Apple partly eliminated the problem of Objective-C by introducing a new programming language called Swift. Unlike Objective-C, Swift is much easier to learn and use while being easier to understand too.
The biggest drawback with Xcode is that it only lets you develop for Apple products. That’s what made Xojo and LiveCode so appealing. Besides being much easier to learn and use, both Xojo and LiveCode also let you create cross-platform programs that could run on Windows, OS X, and Linux. In addition, Xojo lets you create iOS apps while LiveCode lets you create Android and iOS apps.
I loved using Xojo and LiveCode, but with so much to learn and master, there just isn’t enough time to stay current with all of these tools. That’s why I’m saying good-bye to both Xojo and LiveCode.
Both tools are great at what they do. If you need a cross-platform program, Xojo and LiveCode are great. However, if you need to access all the features of OS X, iOS, watchOS, or tvOS, then Xojo and LiveCode can’t deliver.
Xojo is based on Microsoft’s Visual Basic 6 so if you’re a Visual Basic programming, you’ll have no trouble using Xojo. Even if you’re not a Visual Basic programmer, using Xojo is relatively easy.
LiveCode is based on Apple’s HyperCard. If you’re familiar with HyperCard programming, you’ll have no trouble using LiveCode. if you’re familiar with other programming languages like C or Java, LiveCode will look extremely wordy and verbose.
Chances are good traditional programmers will immediately dislike LiveCode while novices will love it because LiveCode works far more logically than traditional programming languages.
If you’re going to make a living as a software developer, you may still want to learn Xojo or LiveCode as a secondary programming tool, but not as your primary tool. That’s because neither tool is as well known or popular as Xcode for Apple programming or C# for Windows programming.
Learn C#, C++, Swift, or Java and you can find a job easily. Master Xojo or LiveCode and job opportunities are far fewer despite the fact that Xojo and LiveCode let you create programs faster.
Beyond the limitation of time, the biggest strike against Xojo and LiveCode is their inability to keep up with Apple’s latest frameworks. Xojo currently offers a subset of iOS programming that’s getting more robust and comprehensive everyday, but it will always lag far behind the capabilities of Xcode and Swift.
LiveCode also lets you access a subset of iOS programming, so despite being easier to use, you may run into limitations that neither Xojo nor LiveCode can handle on their own.
Xojo is $299 for the iOS compiler while LiveCode has raised their prices to $499 a year as a subscription. Unless you really can crank out programs for others to justify LiveCode’s steep annual subscription price, it’s a great tool that’s priced out of my range, let alone the price range of most other programmers as well.
Pricewise, LiveCode is the most expensive ($499 a year) but most flexible in creating cross-platform apps from Windows, Linux, OS X, Android, and iOS. Xoxo is next ($299) but can only create Windows, OS X, Linux, and iOS apps. Xcode is free but limited solely to Apple products (OS X, iOS, watchOS, and tvOS).
So if you have plenty of time on your hands, consider Xojo or LiveCode as great secondary tools for prototyping apps and creating quick and simple programs easily. If you’re like most people, you do’t have a lot of free time so you need to specialize. Windows programmers should focus on C# while Apple programmers should focus on Swift.
Don’t overlook Xojo and LiveCode, but don’t depend on them as your primary programming tool. If you do, chances are good you won’t have much company with fellow programmers or paying opportunities either. Xojo and LiveCode are great, but if you’re serious about developing for Apple products, Xcode and Swift is where you should be pouring all your attention.
For that reason, this blog will shift heavily towards Swift and Xcode with an occasional passing reference to Xojo and LiveCode. I love Xojo and LiveCode. It’s just that the best programming opportunities lay with Swift and Xcode instead.
Posted in iOS, LiveCode, Programming, Xcode, Xojo
Three popular programming tools are Xcode, Xojo, and LiveCode. If you haven’t heard of Xojo or LiveCode, it’s not because they’re not good. It’s because they’re not as well known since they come from independent companies and not from some behemoth like Apple or Microsoft.
If you want to develop OS X or iOS programs, Xcode has many advantages. It’s free, it’s powerful, and it’s guaranteed to always be up to date so you can take advantage of Apple’s latest technology whether it’s ResearchKit (for collecting medical data), HomeKit (for home automation), CarPlay (for in-dash entertainment), or Apple Watch (for wearable computers). Best of all, Apple has basically dumped Objective-C and turned their attention to a much friendlier language called Swift. If you’re going to use Xcode, learn Swift and forget about Objective-C.
Many older OS X and iOS programs are still written in Objective-C, but in the long run, you’ll be much better off learning Swift and taking a little time to understand Objective-C. Since you can mix Swift and Objective-C in the same project, you can update existing OS X and iOS programs using Swift even if they were originally written in Objective-C. It will be messy, but it can be done.
Now both Xojo and LiveCode offer free versions but if you want to compile anything, you’ll need to buy a license. The main advantage of Xojo and LiveCode is that it lets you create cross-platform programs for Windows, Linux, and OS X. For an extra fee, Xojo can also create iOS apps but LiveCode does not charge an extra fee. Instead, LiveCode lets you create Windows, Linux, OS X, Android, and iOS software. In that regard, LiveCode is more versatile.
Here’s why you might want to use Xojo. If you’re familiar with classic Visual Basic (Visual Basic 6 or earlier), you’ll find Xojo very similar. This lets you retain your Visual Basic programming skills to create Windows, Linux, or OS X programs, or iOS apps as well. One problem with Xojo is that its iOS features will always be behind Apple’s Xcode. Want to create fancy iOS apps with Xojo? Right now you can’t do that because Xojo only offers limited features for iOS support. Want to write Apple Watch apps with Xojo? Too bad. You have to wait for Xojo to offer Apple Watch features.
Xojo is a great tool for creating cross-platform programs for desktop/laptop PCs if you already know Visual Basic. If you don’t know Visual Basic, you might still find Xojo useful since it’s easier to learn than C++. However, it’s difficult to make a living as a Xojo developer and if you want to create fancy iOS apps, you’ll always be waiting for Xojo to update it’s iOS support.
LiveCode is also great for creating cross-platform programs, but its programming language is so different from other languages that experienced programmers will likely find it confusing. However, complete novices will likely find LiveCode much easier to learn than traditional programming languages. In addition, LiveCode’s $299 price lets you create Windows, Linux, and OS X programs along with Android and iOS apps. Xojo’s $299 price just lets you create iOS apps. If you want to create Android apps with Xojo, you can’t. If you want to create Windows, Linux, or OS X programs with Xojo, that’s an additional cost.
So Xojo ultimately costs more than LiveCode and offers less flexibility. LiveCode can be harder for experienced programmers to learn and like Xojo, will always be behind in iOS support. Want to create an Apple Watch app? Right now your only choice is Apple’s Xcode. Xojo and LiveCode won’t have Apple Watch support available for a while. By the time they do get that support, Apple will likely introduce something new that will put Xojo and LiveCode behind once more.
Looking at cost, Xcode wins because it’s free.
Looking at versatility, LiveCode wins because it lets you create Windows, Linux, OS X, Android, and iOS programs.
Looking at ease of use, LiveCode wins for novices and Xojo wins for Visual Basic programmers.
Looking at having access to the latest features, Xcode wins.
Looking at developing mobile apps for Android and iOS, LiveCode is the only choice.
There’s nothing wrong with Xojo or LiveCode. It’s just that if you’re going to develop iOS apps, you should focus on Xcode and Swift first, and Xojo and LiveCode second. Despite the complexity of Xcode, it’s ability to give you access to the latest iOS features means you’ll always be up to date with the latest technology. Waiting for Xojo or LiveCode to catch up means you’ll always be behind.
For speed of development, Xojo and LiveCode win. That’s why you should focus on more than one tool to expand your own versatility. Start with Xcode and master Swift. Then look at Xojo and LiveCode. If you need to create Android apps, LiveCode is the only choice and is far easier to learn than using Java to create Android apps.
Learn Xcode and Swift first. Depending on your background, learn Xojo or LiveCode next. The world is shifting to mobile so in the long run, Xcode will always keep you in the forefront of iOS development.
Posted in iOS, LiveCode, Programming, Xcode, Xojo
If you follow the developers, you can follow the trends. Way back when MS-DOS became popular, developers flocked to write MS-DOS programs. When Windows became popular, developers flocked to write Windows programs. Now developers are flocking to mobile computers, specifically iOS running on the iPhone, iPad, and Apple Watch. By following the developers, you can follow the trends and the trend is towards iOS programming.
If you’re interested in creating your own iOS apps, you basically have two choices: Xcode and everything else. The biggest advantage of Xcode is that it’s Apple’s official programming tool and always has the latest access to all of Apple’s newest technology such as the Apple Watch. Besides the latest access to features, Xcode gives you all the power to do anything that Apple can do. So if you want the most powerful programming tool for creating iOS apps, you want to use Xcode.
Now here’s the huge drawback. Xcode has a steep learning curve. Even if you’re familiar with programming in Windows using C/C++/C#, you’ll find learning Xcode initially can be challenging. That’s because Xcode has its own way of doing things that makes sense when you understand it, but can feel foreign until you get used to it.
Even worse, writing programs for iOS in Xcode relies on the Cocoa Touch framework that’s heavily object-oriented with lots of alternative ways to run code that isn’t trapped inside of an object. With confusing terms like “conforming to the protocol” or “notifications,” understanding how a typical iOS program works, let alone being able to write your own, can be time-consuming and challenging.
If you want the most power and the latest features, use Xcode. If you’d rather not bang your head against a wall for several months learning Xcode, there are plenty of alternatives such as LiveCode, Xojo, PhoneGap, and many more. The advantage of these alternatives is that they make iOS programming far easier. The huge drawback is that they don’t give you access to every feature of iOS and you have to wait for an upgrade to even use advanced features like accessing the Apple Watch. At the time of this writing, the only way to write apps for the Apple Watch is to use Xcode. In a few months, everyone else will catch up, but Xcode will always be the first one to get access to the latest features.
So your choice boils down to power and features vs. simplicity and speed. Xcode has the power and features, but takes longer to master. Every other tool is far easier to learn so you can create apps much faster, even creating cross-platform apps for Android as well. The huge drawback with other tools is that they never give you full access to features that Xcode will always be the first to get.
Ideally you should learn both Xcode and something else. This will let you appreciate both tools. For the greater opportunities, you can’t go wrong learning Xcode. If you want to create apps in a hurry, learn anything but Xcode. Just keep in mind that any other tool will always be limited compared to Xcode.
For professional programmers, take the time to learn Xcode. For anyone else who just wants to turn their idea into an app and doesn’t want to get bogged down with complexity, use anything but Xcode.
Posted in iOS, LiveCode, Programming, Xcode, Xojo
InfoWorld ran a survey to determine what mobile developers are pursuing. While most developers realize that mobile computing is the future, most developers are focusing on Android and iOS with rapid adoption of Swift for iOS.
Surprisingly, many mobile developers are using cross-platform tools. While almost everyone wants an iOS app, they also want an equivalent Android app as well. While some programmers may prefer to create iOS apps in Objective-C or Swift, they have to create Android apps using Java. The alternative is to focus on cross-platform tools that let you create both iOS and Android apps at the same time.
Not surprisingly, only 8 percent of developers are working with Windows Phone. Despite being a decent mobile operating system, Windows Phone has such a small market share and with Windows 10 coming out soon, developers will likely need to learn new skills to create Windows 10 apps for mobile phones instead of relying on Silverlight, which was the old way to develop Windows Phone apps.
If you’re going to learn programming, you can’t lose by learning mobile development, and you can’t lose by starting with iOS. While Android is important because of its sheer numbers and huge market share, iOS is the most lucrative. Of you want to learn iOS programming, your first question may be where should you start? While there are plenty of options, let’s look at a handful for now.
First, iOS programming requires a Macintosh. If you’re still using Windows or even Linux, and you still want to develop iOS apps, your best bet is to use HTML5 and a tool like PhoneGap. Fortunately, HTML5 is an open standard and PhoneGap is open source, so it won’t cost you a thing to learn mobile development with HTML5 and your apps can run on everything from iOS and Android to Blackberry and Windows Phone.
The drawback of HTML5 is that it doesn’t let you take full advantage of each operating system natively. For example, the latest iPhones have a TouchID fingerprint sensor while Windows Phone devices do not. That means you’ll need to customize your iOS app from your Windows Phoen app. To take advantage of each operating system, you may wind up customizing for each platform, which takes time.
Even if you do this, your HTML5 apps may not run as fast as native apps. For most apps, this won’t be a problem, but if your app needs to do serious number-crunching or data processing, an HTML5 app may run slower than a native app.
If you have a Macintosh, then the obvious choice is to get a free copy of Xcode and use Objective-C or Swift. The problem with Xcode is that it only lets you create OS X or iOS apps, but it does give you full access to all the features of iOS. Only with Xcode will you be able to tap into the latest features of iOS. With other programming tools, you have to wait until the company behind it updates their tool for the latest version of iOS. Since Apple uses Xcode to create their own software, Xcode is the most powerful option available.
Besides the limitation of creating only OS X or iOS apps, Xcode may be harder to learn. Objective-C is a complicated programming language but Swift is much simpler. However both rely heavily on understanding object-=oriented programming and the class frameworks that make up OS X and iOS apps. Despite being free, Xcode is a complicated solution.
If you’re a Visual Basic programmer, you can leverage your skills by using either Xojo or NSB/AppStudio. Both tools look and behave like Visual Basic and both let you create iOS apps along with OS X and Windows programs too. Xoxo even lets you create Linux programs while NSB/AppStudio lets you create Android apps.
The advantage of both tools is that if you already know Visual Basic, learning either tool will be simple. The drawback is that both cost money although you can try both for free. Another drawback is that both will always be behind adapting the latest features of iOS so as long as your app doesn’t require all the features of iOS, you should be fine.
Yet another option is LiveCode, a tool modeled after Apple’s own HyperCard program. LiveCode is free but if you want to distribute apps, you need to buy a license. For the greatest cross-platform features, LiveCode is probably the best since it lets you create Windows, Linux, and OS X programs along with Android and iOS apps for a single price. LiveCode also uses a simplified programming language that can be much easier for non-programmers to master (but could be confusing and limiting for experienced programmers).
Like most other tools, LiveCode also won’t give you access to the latest iOS features until the company updates their tool, so you’ll always be behind. If you don’t need the latest and greatest features of iOS, then LiveCode, like the other options, will be fine. If you do need to adapt the latest features, then you’ll want to use Xcode no matter how hard it may be to learn Objective-C or Swift.
If you’re serious about iOS programming, learning Xcode will always be a highly marketable skill. If you’re a non-programmer who just wants to create an app, Xcode will likely be too hard so look at a simpler tool instead. With so many options available, there’s no reason everyone can’t create their own iOS apps with enough creativity and persistence.
Posted in iOS, LiveCode, Programming, Xcode, Xojo
If you’re going to write apps for the iPhone or iPad, the most powerful (and most complicated) solution is to use Apple’s free Xcode compiler and write your app using Objective-C or the much simpler Swift programming language. The huge advantage of using Objective-C/Swift and Xcode is that your apps will automatically change its appearance when Apple introduces each new version of iOS.
If you have an app that retains its original look despite the visual changes in iOS that means the developer used a different programming tool that didn’t use what’s called “native controls.” Native controls basically means that the programming tool uses the Cocoa Touch framework, which is a library of Objective-C code that Apple has created to define the appearance and behavior of iOS apps. If a programming tool uses “native controls,” every time Apple changes the appearance of iOS, your app’s appearance automatically changes without any extra effort on your part.
Many programming tools “cheat” by not using native controls. Instead, they let you create an iOS user interface that looks like native controls. However, each time Apple changes the appearance of iOS, the app still continues mimicking the appearance of the previous version of iOS.
In addition, native controls come with built-in features that most people expect such as spell checking. If a programming tool doesn’t use native controls, you not only have to mimic the appearance of native controls, but also the behavior. For many programming tools, this requires either writing additional code or buying a third-party add-on, which simply complicates the programming task.
That means if you’re developing apps for iOS, you want to use a programming tool that uses native controls since that will completely eliminate the need to update your app’s user interface and behavior every time Apple changes iOS. If torturing yourself with Objective-C and Xcode isn’t your idea of a good time and you still find Swift too challenging, you can choose two other programming tools like LiveCode or Xojo.
Both programming tools have limitations. LiveCode currently lets you write a program and compile it for Android and iOS. The big problem is that it doesn’t use native controls. That means any iOS apps developed with LiveCode could retain an antiquated look when a new version of iOS appears. That won’t affect the actual function of the app, but it may risk making the app look dated.
The current problem with Xojo is that it only offers limited iOS support. However , Xojo will use native controls so your app, created with Xojo, will change its appearance every time Apple changes iOS.
As a developer, you probably want to use a programming tool that uses native controls. As a consumer, you’ll be able to tell which apps used native controls and which ones don’t by seeing if they change their user interface each time Apple changes iOS.
Posted in iOS, LiveCode, Programming, Xcode, Xojo
If you’re like many people, you may be curious how to turn your great idea into an iOS app that can run on the iPhone or iPad. Fortunately Apple provides a free solution called Xcode, which you can download from their Apple Developer site. To use Xcode, you’ll need a fairly new Macintosh computer.
Once you have Xcode installed on your Macintosh, how do you create an iOS app? Basically, you need to learn two skills at the same time: learning to program and learning to use Xcode.
Learning to program is a completely different skill than learning to use Xcode. Unfortunately many iOS programming books and tutorials intermix the two to the point where it’s easy to feel overwhelmed trying to learn two things at once. This can be like trying to learn a foreign language like French when it’s only taught in sign language, which means you have to learn sign language at the same time you’re learning French. It’s possible, but far more troublesome than necessary.
So my recommendation is to focus on learning to program first and then learn Xcode afterwards. Of course to learn to program in Xcode, you’ll need to learn a bit about Xcode too, so be aware that at the beginning, you’ll be forced to learn two different and separate skills simultaneously. However, once you learn the basics of Xcode, focus solely on learning how to program. Once you feel comfortable programming, you can gradually move up to learning more about using Xcode.
Here’s the paradox right now. Currently the programming language used to create iOS apps in Xcode is called Objective-C, which is a fairly complicated programming language for beginners to learn while also being challenging for experienced programmers as well. Skip Objective-C. This fall, Apple will release a new programming language called Swift, which is basically a simplified but still powerful version of Objective-C. Anything you can do in Objective-C you can do in Swift but Swift makes programming much easier, faster, and simpler so there’s really no reason to learn Objective-C at this point. The drawback is that you have to wait until this fall to start using Swift.
Given this limitation, your best bet is to download the current version of Xcode (version 5) and just get familiar using Xcode, knowing that this fall Apple will release Xcode 6 which will give you the choice of using either Objective-C or Swift. If you’re ambitious, follow existing tutorials on Xcode to see how Xcode works. But keep in mind that Objective-C will eventually be a dead programming language so you should focus all your efforts on learning Swift instead.
While you’re waiting for this fall, take a moment to solidify your app idea. First, check the App Store to see if someone else already sells something similar or identical to your idea. If so, then you might want to reconsider your idea or improve it somehow. Next, use paper and pencil to design how your app should work. The clearer you understand how your app should work, the faster you can turn your raw idea into an actual working app.
Developing apps in Xcode is Apple’s free solution that gives you access to all possible features on the iPhone and iPad. If you want a simpler approach, you can look at LiveCode, but be prepared to pay $300 or more if you want to sell your app. LiveCode also doesn’t give you access to all possible features on the iPhone/iPad so in return for being easier to create apps, LiveCode imposes limitations as well.
Whatever choice you make, you can’t go wrong by researching apps that are similar to your existing idea and then designing your app on paper to make sure your idea makes sense. Programming is far more effective when you can plan on paper ahead of time rather than rush into programming without a clear plan or direction.
Posted in iOS, LiveCode, Programming, Xcode
If you’re interested in creating apps for smartphones and tablets, there are really only two choices: Android and iOS. The biggest advantage of Android is that it has the largest market share. The biggest drawback of Android is that Android users tend to spend far less buying apps and so many different versions of Android exist that testing your app on all possible versions is nearly impossible. Although iOS has a much smaller market share, iOS developers tend to make more than Android developers. So if you’re interested in making money, iOS is the best choice. Afterwards you can decide to develop for Android if you wish.
Having settled on developing for iOS, the next choice is what programming tool should you use? Here are my suggestions. First, learn Swift, Apple’s newest programming language designed to make programming far easier than learning Objective-C. Swift is available as a beta today if you’re willing to pay Apple’s $99 developer annual fee. Otherwise you can wait until this fall to download Xcode with Swift for free.
Beyond Swift, the next best option is LiveCode, which lets you create cross-platform programs for Windows, Linux, OS X, Android, and iOS. By next year, LiveCode will even let you create HTML5 apps that you can run within a browser. This gives you a chance to create web apps. If done right, LiveCode could also create iBook Author widgets to create interactive features for iBooks.
If you’re willing to wait until later this year, look at Xojo, which is often called Visual Basic for the Mac. Xojo can create Windows, Linux, and OS X programs and will soon be able to create iOS apps as well.
For ultimate power, learn Swift. For a solution right now, use LiveCode. For a simpler solution in the future, use Xojo. Developing for iOS will continue to be a lucrative market that no programmer can ignore, so start with a Macintosh and an iOS device like an iPhone or iPad today, and start programming! Who knows? You may create the next Angry Birds sensation.
Posted in iOS, LiveCode, Programming, Xcode, Xojo
It’s no secret that corporations make record profits and then hand over millions to CEOs who remain on the job for a few years before leaving with stock options and more benefits to reward them for their supposed “leadership” at the company, as if they were the sole reason the company made money. Since there’s little you can do about how your company treats its workers, the better solution is to simply start your own business so you can eventually leave the madhouse that represents most corporate environments.
There are literally millions of types of businesses you can start, but one of the least expensive businesses involves software. Software doesn’t take up space and doesn’t need expensive facilities to get started. Want to start a restaurant? You need to lease space and stock it with supplies. Want to start a software business? All you need is a computer. You don’t need a warehouse to store inventory, you don’t need a retail presence, and you don’t need to pay for delivery of your products since you can sell it digitally over the Internet.
While developing software isn’t for everyone, it’s still a great business for those who want a low-cost way to be your own boss and run a company from your own bedroom or kitchen table. Assuming you want to develop software, where should you start and what should be your first step?
First of all, never go into any business thinking you’ll make a million bucks. You might, but if you’re only going into business for the money, chances are good you’ll crumble the moment problems pop up, and they will pop up. Your desire and passion for a business can get you past any obstacles. If you’re only looking for the money, the first obstacle that gets in your way will stop you dead in your tracks.
Assuming you have a sincere desire to develop software, that means you need to learn programming. Don’t worry. Anyone can learn programming just as anyone can learn cooking or knitting. Programming is just a skill that you can learn on your own without necessarily going to school to learn it. Of course schools can help, but don’t feel you need to go to school to learn programming since you can always learn it on your own if you’re dedicated enough. If you’re truly passionate about the idea of writing software, then you’ll have the motivation to learn on your own.
The first big question might be what will you create, but before you answer that, the real first question you need to ask yourself is where is your market? In the old days, the biggest software market was writing programs for Windows PCs. Those days are gone though as the world of smartphones and tablets have skyrocketed. While you can still make money selling Windows programs, the market is shrinking as fewer people rely on Windows for both home and work. if you want to follow the money, your best bet is to follow the mobile computing market.
The two biggest mobile computing leaders are Android and iOS. I’d suggest focusing on iOS first because iOS tends to be the more lucrative market (despite Android being the more numerous market) and iOS tends to be easier to write software for since there aren’t as many varieties of hardware running iOS as there are running Android.
So if you’re following me so far, we’ve boiled down your software business to writing mobile apps for iOS. Now the next step is to decide how you’ll write iOS apps. There are several solutions, but I’ll go over the three best options.
First, Apple offers Xcode, which is a free program that lets you create OS X (Macintosh) and iOS (iPhone and iPad) apps. The two huge advantages with Xcode is that it’s free and it gives you access to every part of OS X and iOS so you can create any type of apps you want. The huge drawback of Xcoce is that you have to learn a programming language called objective-C, which isn’t necessarily easy to learn, especially for beginners.
Two alternatives to Xcode are Xojo and LiveCode. Xojo looks and works like Visual Basic, which was a popular Windows programming tool back in the 90’s that Microsoft developed. The basic idea behind Xojo is that you draw your user interface with the mouse, and then you write commands to make your program actually work. Xojo is free to use, but if you want to create programs to sell or give away, you’ll need to pay for a license. The great news about Xojo is that it’s far easier to learn than Xcode plus it will let you create Windows, Linux, and Macintosh programs (Xcode only lets you create Macintosh or iOS programs.). By the end of the year, Xojo will also let you create iOS apps.
The big drawback with Xojo is that it may not let you take advantage of all features of OS X and iOS. That means your Xojo programs may have artificial limitations on them that you would never have if you used Xcode. Xojo also costs money if you want to create programs you can sell.
LiveCode is modeled after Apple’s old HyperCard program. As a result, LiveCode is the easiest of all programming tools for novices to master. Chances are good that you can perform tasks in LiveCode that might take twice as long to do in Xojo and maybe five times as long to do in Xcode. Experienced programmers will likely find LiveCode too foreign to learn, but novices who haven’t been corrupted by other programming languages yet will likely find LiveCode intuitive and simple to use. Best of all, LiveCode can actually create Windows, Linux, and Macintosh programs align with iOS and Android programs.
One huge drawback with LiveCode is its cost, which ranges from $500 a year and up. Another drawback is that LiveCode simulates the appearance of programs on different operating systems instead of actually taking advantage of each operating system’s tools. That means while it’s easy to create a program in LiveCode, any changes to the operating system appearance won’t be reflected in the appearance of your app. LiveCode makes it easy to make programs, but doesn’t make it easy to access all the features of all the different operating systems it can run on. As a result, LiveCode programs may not always look and fit seamlessly.
To summarize, Xcode is the cheapest (free and the most powerful, but also the most complicated to learn and use.
Xojo is easier to learn and use than Xcode, but doesn’t give you full access to all the features of different operating systems.
LiveCode may be easiest of all to learn and use, especially for novices, but it may isolate you too much from the operating system.
So which programming tool should you chose? It depends. In future postings on this blog, I’ll be going over the pros and cons of all three tools: Xcode, Xojo, and LiveCode. So if you’re interested in learning to develop software for a hobby, for spare income, or to start a business, you can learn programming for iOS and hopefully be able to kiss the corporate world and its insane logic of paying CEOs millions for doing almost nothing behind.
Posted in iOS, LiveCode, Programming, Xcode, Xojo