Hi Cara,

Thanks for that thoughtful post, and it certainly makes a lot of
sense. Its something I've more or less discovered the hard way over
the last couple of years in developing my Evolution Engine, and
developing specifically for a certain platform or OS is something I'm
coming to respect.

For example, about four years ago I tried all the so-called write once
run anywhere type languages and found inevitably they all had issues
that made them unsuitable for what I wanted to do. C# .NET is a good
programming language, especially if writing for Windows, but the
minute you port a game to Mac handy Windows Forms which are so handy
on Windows is completely inaccessible using VoiceOver because Mono
doesn't provide the necessary bindings to Cocoa we need for access.
Java has a similar problem. Its a great language, but if you try and
write a GUI using Swing all hell breaks loose with screen readers
since Jaws has problems with Swing on 64-bit versions of Windows,
Window-Eyes 7.5.x and earlier have problems with Swing based Java
apps, and I don't think Supernova supports Java period. With Python
its easy to support Cocoa, GTK+, etc using the available modules, but
Python programs are Python interpreter specific. If you compile a
Python program for say 2.7.3 then your intended platform better have
Python 2.7.3 on it because having a version of Python too new or too
old will result in your program not running. So its not exactly all
that portable either.

Like you said a developer is going to spend more time with hacks
trying to get the OS or runtime to conform to his or her individual
comfort zone when they could save themselves a lot of headaches in the
long run just by writing platform specific code to begin with. On
Linux, for example, using C++ and SDL is by and large the best option
for a game developer. If he or she needs an accessible GUI then using
GTK+ 3 is the way to go. For Windows DirectX and the standard Windows
API is the way to go. for Mac using Cocoa for a GUI, OpenAL for audio,
etc is the way to go. Instead of forcing the platform to conform to
some standard a developer needs to conform to the platform be it Mac,
iOS, Windows, Linux, whatever.

I guess a lot of the reason why people try to use hacks is because
they simply don't want to invest the time or the money in directly
supporting the OS or technology in question. I don't own an iOS
device, and I don't own a Mac. Yet I am getting requests to support
one or both of those operating systems. I was hoping there was a
cheaper way of doing it than paying $1200 for a new Macbook etc and
getting all the software and development kits required, but through my
own investigations plus your  excellent post I know there isn't any
other way to do it. Want to support a Mac you have to own a Mac and
write software for a Mac. That's all there is to it.

Cheers!


On 4/22/13, Draconis <[email protected]> wrote:
> Hi Tom,
>
> Technically, you may be able to do some development on Windows, but
> ultimately, you'd still need a Mac and Xcode for the final compilation and
> submission to the App Store.
>
> I also have some doubts on the accessibility of apps developed with Mono,
> but that is merely speculation on my part. Just about all of these
> third-party development tools…really for most platforms…end up making
> inaccessible software.
>
> Speaking from experience, you're going to end up with more headaches trying
> to make a platform conform to your habits, than to adapt your habits to the
> platforms you're developing for…and that goes for development in either
> direction. .net isn't designed for Mac, any more than Cocoa is designed for
> Windows. It's best to learn and work within the differences of various
> platforms, IMO. You'll spend less time in the long run learning each
> platform's differences, than trying to get, what are essentially hacks,
> working the way you want.
>
> Marco Arment, an iOS developer for whom I have the utmost respect, talked
> about this a few months ago in terms of web site development. (Marco was the
> main developer for Tumblr in its first several years). He spoke about how so
> many people will spend days, weeks, even months, trying to install themes
> and plugins for WordPress or Drupal or some of these other CMS packages out
> there, spend time hacking the code or writing their own plugins, etc
> etc…just because it is their comfort zone. That doesn't count time that will
> be lost when, inevitably, plugins or themes they are using break when the
> cores of those packages are updated. In reality, they could've made their
> own custom CMS that was exactly tailored to their needs and fully under
> their control in far less time.
>
> This particularly hit home to me recently, when I decided to heed his advice
> and built the CMS for the new Draconis site, (whose launch is immanent by
> the way), from scratch. It was a daunting idea to start with, but in the
> end, didn't take all that long to do…and certainly far less than if I'd
> stuck with our old WordPress-based system.
>
> Just my two cents.

---
Gamers mailing list __ [email protected]
If you want to leave the list, send E-mail to [email protected].
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/[email protected].
If you have any questions or concerns regarding the management of the list,
please send E-mail to [email protected].

Reply via email to