Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Its called sharing existing software components. Nothing wrong with that. I'd rather write component A once instead of having to re-invent the wheel many times. It saves on time and money.

That's what libraries such as Cocos2D are for. "Middleware" is a library, a framework; not a Virtual Machine, not a meta-platform. Trying to get away with your previous skills on a new and completely different platform at the expense of valuable system resources by using some sub-optimal translation layer or virtual machine is not desirable. And Apple demands some commitment because they don't want their platform to be devaluated (i.e., one of many output settings in your Flash IDE project).
 
How long did it take Adobe to produce Intel versions of their software?

They were pretty fast, infact - a lot of users had to replace their 3-4 year old G5's because they were no longer supported by CS4.

How long did it take them to make the CS set 64 bit?

Adobe CS was actually one of the first software packages to have 64 bit support. In the early days of 64 bit, CS was one of the few arguments for choosing 64 bit power over 32 bit compatability (driver support for older devices wasn't great back then).

Apple has been complaining about flash for several years to adobe, and they have yet to correct the issues.

Bear in mind, Flash is NOT originally an Adobe product. It was made by Macromedia until they were aquired by adobe in 2005. Flash is far from being perfect, but it has been (thus far) the only way of achieving truly rich content on the internet. A lot of the instability issues aren't adobes failure to address core problems but rather the intrinsic challenges of supporting 99.999% of operating systems and hardware. Don't get me wrong, I believe Flash ought to be buried in the 'thanks & goodbye' section of the internet hall of fame - but never the less it isn't all bad - the lack of a suitable alternative until now is testament to that.

Flash's simplistic timeframe approach is a conceptually logical starting point for many people learning to programme, its crude but you have to start somewhere and flash facilitates that. I bet more than a few of us on here followed the route of learning HTML, then Flash/Javascript and then branched out from there.
 
That's what libraries such as Cocos2D are for. "Middleware" is a library, a framework; not a Virtual Machine, not a meta-platform. Trying to get away with your previous skills on a new and completely different platform at the expense of valuable system resources by using some sub-optimal translation layer or virtual machine is not desirable. And Apple demands some commitment because they don't want their platform to be devaluated (i.e., one of many output settings in your Flash IDE project).
yes, you are correct. I do understand what middleware is for. However, middleware doesn't have to devalue a platform.

EDIT: nowhere did I ever mention that middleware is a VM, meta platform ....
 
BTW. OpenGL must be banned now too because it's also a layer and "middle ware". Well too bad :D
 
I do not usually post here, but I thought some people are in need of disillusionment.

Apple will always have user experience as their top priority. Good user experience is the reason the whole iPhone App market is so big and it attracts so many developers. And do not fool yourself, it is money that attracts most of the developers, at least the ones that Apple really care about - you know, the people who actually spend time to develop quality applications and need money to pay for it. The childish argument 'I will develop for Android because Apple does not allow me to deploy my Flash apps on the iPhone without putting any effort into making them actually work well' will not lose Apple any good developers.

As Jobs rightly stated, all automated code translators and mid-layers for code translation are going to degrade the quality of the apps. Have you ever seen a Java application that actually looked good and worked well under all Linux platforms, Windows and Mac? No? All of these systems have different design paradigms and the time saving motto 'code once, deploy everywhere' never works well because of it.

Now I know some code libraries are uniform across platforms and could actually be 'written once, deployed everywhere', but Apple has no means of controlling what people translate once they allow them to use the code translation tools so the argument is moot.
 
BTW. OpenGL must be banned now too because it's also a layer and "middle ware". Well too bad :D

OpenGL is an industry standard designed to access the GPU, when present, or otherwise fallback to the CPU, but in any case hide the burden of having to code graphics in a hardware specific way and unify common graphics calls in a hardware agnostic way, yet optimized as much as possible. There are bindings to many popular languages, but it's primary language is C. From the Glossary section of the OpenGL Red Book:

C - The programming language of God.

In any case OpenGL ES is part of the iPhone API. Try again :(.
 
I do not usually post here, but I thought some people are in need of disillusionment.

Apple will always have user experience as their top priority. Good user experience is the reason the whole iPhone App market is so big and it attracts so many developers. And do not fool yourself, it is money that attracts most of the developers, at least the ones that Apple really care about - you know, the people who actually spend time to develop quality applications and need money to pay for it. The childish argument 'I will develop for Android because Apple does not allow me to deploy my Flash apps on the iPhone without putting any effort into making them actually work well' will not lose Apple any good developers.

As Jobs rightly stated, all automated code translators and mid-layers for code translation are going to degrade the quality of the apps. Have you ever seen a Java application that actually looked good and worked well under all Linux platforms, Windows and Mac? No? All of these systems have different design paradigms and the time saving motto 'code once, deploy everywhere' never works well because of it.

Now I know some code libraries are uniform across platforms and could actually be 'written once, deployed everywhere', but Apple has no means of controlling what people translate once they allow them to use the code translation tools so the argument is moot.

You do realise most of the popular apps and games in the store are already written with help of third party tools?
 
Good user experience is the reason the whole iPhone App market is so big and it attracts so many developers.

I disagree, the iPhone App market is so big because it was (and has been for about 2 years) the only mechanism that coders can use to get into the mobile market, and its been a huge market at 85+ million handsets.

I think we will see evidence of this in the coming 18 months as Android and Windows Phone 7 emerge, particularly in the lower price ranges. Casual phone users who can't/don't want to spend a lot still want solid apps and usable mobile internet and those platforms will be their means to do that. With that in mind we will probably see a shift in developers away from the iPhone OS towards other platforms.

Plus the app market is becoming fairly saturated. Its getting harder and harder to produce quality original apps. Most games are now just reincarnations of older games for example.
 
There are an abnormal amount of people trying to use logic drenched in fallacy to try beef up their arguments. I wish it were easier to get it through thick heads.

The App Store is thriving on tons and tons of amazing apps written using Apple's native code and tools. Half of these posters make it sound like developers need these alternative compilers to thrive, or their demise will be at stake.

It sadly comes down to: "I'm really lazy. I need something else to do my work for me." -or- "I just don't have the time, but I still want a piece of the pie."

Dedication: If you want to write apps, learn how to code them using the way that is intended.

Apple put out its new SDK with a lot of new performance tools and APIs. These allow the app to take advantage of the system's hardware and software in the way that was intended - with integrity in mind. Apple wants great apps on their platform. How else will they continue to pull market share in the way that they are now? They're going to crush any loopholes just to make sure that their platform stays as solid as it has been.

Steve Job is stopping the war before it begins. You could say development could go either way if these alt. compilers continued to dip into the iPhone market, but why take the chance on something that could potentially dwindle the shine the app store gleams?

Apple acknowledges that there is a "gold mine" in app development for its iPhone / iPod Touch / iPad, and hosts their development tools for free at developer.apple.com - including tons and tons of documentation to help with code writing. They want things to be done right - the first time. He even alludes to this during his Multitasking presentation.

Apple's interpretation of "making it easier" would mean getting the work done right when the work is being done. If a developer doesn't want to be involved with the dedication required to use this platform, then they don't deserve the gold it offers them.

I'm not saying middleware/cross compiler/alternative languages are necessary, but they should be an option a developer can choose - let consumers choose if the developer is correct.

The Mac has great apps without these restrictions - so why does the iPhone need them?

Is is true, that sometimes, the developer is being lazy by not going with the apple approved way. But sometimes, it is just the best uses of resources. Sometimes, using middleware, will be better than most most developers can do even with much effort. After all, we could extend this argument and say everybody is being lazy if they aren't coding in machine code. Very few developers would produce better code than a good modern compiler - probably none on a consistent basis.

I'm really being the devil's advocate here because I think the Apple way is probably the best way in many cases (except for business logic which shouldn't matter either way).
 
I do not usually post here, but I thought some people are in need of disillusionment.

Apple will always have user experience as their top priority. Good user experience is the reason the whole iPhone App market is so big and it attracts so many developers. And do not fool yourself, it is money that attracts most of the developers, at least the ones that Apple really care about - you know, the people who actually spend time to develop quality applications and need money to pay for it. The childish argument 'I will develop for Android because Apple does not allow me to deploy my Flash apps on the iPhone without putting any effort into making them actually work well' will not lose Apple any good developers.

As Jobs rightly stated, all automated code translators and mid-layers for code translation are going to degrade the quality of the apps. Have you ever seen a Java application that actually looked good and worked well under all Linux platforms, Windows and Mac? No? All of these systems have different design paradigms and the time saving motto 'code once, deploy everywhere' never works well because of it.

Now I know some code libraries are uniform across platforms and could actually be 'written once, deployed everywhere', but Apple has no means of controlling what people translate once they allow them to use the code translation tools so the argument is moot.

What about Microsoft Office, PhotoShop, Quark et al... If Apple didn't have these apps all developed with layers then they would of gone bust long ago...
 
You do realise most of the popular apps and games in the store are already written with help of third party tools?

Read my last paragraph. Yes, I do realise that, I do also realise that committed developers will have no problems making sure their previous code is properly rewritten for iPhone taking into account all the design and infrastructure issues rather than using an automated tool to just dump their app to all the platforms without any effort or care for standards.

There is a lot of applications with versions for Mac, Windows and Linux all written in native code and working very well under all platforms. There is also a lot of crappy Java apps that care little about the platform they run on. Which of these do you prefer?
 
How about a 'programmer' and a 'designer' working on a product together ? You know, teamwork, where each does the job they're skilled at.

The programmer writes the code. That's what they do. The designer provides the pretty pictures. They do that well.

Why do so many people involved with 'computers' think they can do all the technical work as well as those who have actually studied and worked towards it for many years ?

Why should a designer go anywhere near writing code ?

Because many designers are one man bands. In the early days many coded web sites in HTML but the advent of designer applications such as GoLive made for far better looking sites and still wrote pretty decent code. It's just the nature of development in most areas if you go back over time. The power of Motion to create animated effects in movies by using pre made actions save the hours it used to take setting up paths for example in the early After Effects. It is unfortunate that Flash development, which followed this same path, i.e. Designer production apps, produces such poor code so often plus anyone who ever asked his designer to make a few changes to a large project also knows it is time consuming and expensive.

So my hope is for sophisticated applications of the caliber of Final Cut and Motion that create superb HTML5 code that designers can use for content.
 
...And please, everyone; stop calling "middleware" what is at best a runtime interpreter for a different platform. Middleware would be, in this case, an Objective-C library for use with Xcode that would wrap Cocoa API calls in more ActionScript friendly functions/calls. A hypothetical example:

Code:
[MyMovieClip addChild:otherMovieClip];

instead of the native:

Code:
[MyView addSubview:otherView];
 
What about Microsoft Office, PhotoShop, Quark et al... If Apple didn't have these apps all developed with layers then they would of gone bust long ago...

'Without tea clippers the East India Company would have gone bankrupt, therefore the East India Company should always use tea clippers.'

This is argument by nostalgia, and a poor way to run a business. It behooves the Apple management to make choices that maximise their shareholder's investment based on the situation as it stands today, and where it will go in the future, rather than how it was in the past.

Now, I can see both sides of this issue. They both have upsides and downsides and they both have risks. It is a gamble doing this, but it would also be a gamble not doing it. Ultimately, business decisions can only be made on the information available today and they're all steeped in uncertainty.

There are possible technical reasons for this decision too. Does anyone know how the garbage collection in MonoTouch is implemented, for example? How would it know how much space it had available before the OOM process would kill it? This was easier with 3.0's set up, but with a variable number of apps loaded I can imagine it is much harder.

Incidentally, whenever I've done bindings between languages (C++ and Python, say, or Obj-C and Prolog) it has been ensuring their memory management models do not conflict that has been the trickiest bit. Sometimes hooks are provided into the memory management systems that simplify this, but not always. This can be the source of some very nasty heisenbugs.

EDIT: I should say that I'd prefer to be able to use other languages as well as Obj-C, C and C++. I sometimes mix languages in projects based on what fits the task, hence my experience with cross-language bindings. However, it does increase the risk of bugs, and in embedded systems (like the iPhone, iPod Touch and iPad) it could simply be too risky. Depending on how the OOM process in the new OS works, my app's bug could terminate someone else's app. It depends on how they've handled the trade-offs for multitasking.
 
...And please, everyone; stop calling "middleware" what is at best a runtime interpreter for a different platform. Middleware would be, in this case, an Objective-C library for use with Xcode that would wrap Cocoa API calls in more ActionScript friendly functions/calls. A hypothetical example:

Code:
[MyMovieClip addChild:otherMovieClip];

instead of the native:

Code:
[MyView addSubview:otherView];

Middleware came into the discussion because of discussion of the license in general. Although, I think the reasons are for or against are similar regardless of whether we're talking about middleware/framework or language.
 
Thats not really the point I'm getting at though - its the restrictive nature of apples mentality that disturbs me. It seeks to lock developers into an apple 'world'. You're either IN (which means buying the macs, the iphones/iPads, the SDK license etc.) or your OUT (which means you go find something else to feed your kids). Never in any other programming enviornment (even the rip off - see below - that is flash) has a company asked so much ideological investment from developers.
Well, apparently you've never developed for a video games' console... or for the military, or for embedded platforms or...
 
developers have to decide if its worth to keep separate codes for each platform or to focus on the most profitable one.

based on this reason alone, it would be stupid to abandon the iphone simply because of the number of iphones and ipads out there. The potential market is too big to ignore at this point.
 
Well, apparently you've never developed for a video games' console... or for the military, or for embedded platforms or...

I know that military, and possibly other parts of government, care about your language of choice. But they also want access to the source code don't they?

Do video game companies actually care what you originally developed in? I haven't heard anything along these lines, but I genuinely don't know.

I would guess the embedded platforms would depend on what you're developing for. In many case they probably want access to the source code.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.