Thoughts on Flash
-
Words like that would have sounded a lot less hollow if Apple was still pushing HTML+JS+CSS as the primary dev platform for iPhone apps. But they aren't. So all this talk of Apple's openness vs. Adobe's "100% proprietary" dev stack is bullshit: the non-proprietary bits of Apple's dev stack only matter if you intend to eschew all the "platform enhancements", which flies in the face of "the most important reason" for excluding Flash.
Shog9 wrote:
HTML+JS+CSS
They were pushing it in the version 1.0 of iPhone till everyone complained and they caved in and exposed the native SDK. BTW: HTML5 and CSS3 animations and rendering are all hardware accelerated on the iPhone.
-
Yes, like Microsoft. Large parts of the .net framework are provided open source. the CLR and C# are covered by ECMA standards. There is even an open source sample implementation of large parts of the CLR called Rotor. There is a competing Mono framework based on the same set of standards. There are open source compilers and IDEs that include C# and target the .Net runtime. Microsoft doesn't block any of these activities, in fact some of them are actively run by Microsoft. But even if you don't like the restrictions of .net, you are free to use C++, python, C, Java, in fact, you can use whatever tools or languages you want. Microsoft do not make any restrictions on the tools you are allowed to use to build for their platforms. If you can build it, they will let you. Microsoft do not make any restrictions on the types of applications you are allowed to write. If you want to write a competing media player, a competing office product, or a competing language/framework/IDE you are free to do so. You can also use whatever distribution channel you want for your apps On the other hand, lets look at Apple. To build for the IPhone you have to use a Mac, and thanks to the 3.3.1 changes you now have to use their toolset. You also have to get approval from Apple that your app doesn't compete with any of theirs, and meets their (sometimes secretive) requirements for inclusion in the AppStore.
Simon
Well said, and I agree completely. However, it looks like for the Windows Phone 7, we may see the same business model as for IPhone...
-
Yes, like Microsoft. Large parts of the .net framework are provided open source. the CLR and C# are covered by ECMA standards. There is even an open source sample implementation of large parts of the CLR called Rotor. There is a competing Mono framework based on the same set of standards. There are open source compilers and IDEs that include C# and target the .Net runtime. Microsoft doesn't block any of these activities, in fact some of them are actively run by Microsoft. But even if you don't like the restrictions of .net, you are free to use C++, python, C, Java, in fact, you can use whatever tools or languages you want. Microsoft do not make any restrictions on the tools you are allowed to use to build for their platforms. If you can build it, they will let you. Microsoft do not make any restrictions on the types of applications you are allowed to write. If you want to write a competing media player, a competing office product, or a competing language/framework/IDE you are free to do so. You can also use whatever distribution channel you want for your apps On the other hand, lets look at Apple. To build for the IPhone you have to use a Mac, and thanks to the 3.3.1 changes you now have to use their toolset. You also have to get approval from Apple that your app doesn't compete with any of theirs, and meets their (sometimes secretive) requirements for inclusion in the AppStore.
Simon
Having developed under the chaos of the Microsoft model for the last 20 years and seen the long list of development models and technologies first evangelized then all too quickly abandoned by Microsoft I've grown pessimistic. The simplicity and order of Mac OS X and iPhone OS development appeals to me these days. Just wish I had the time to actually do it. :doh:
-
I am biased here because I love CSS (because I spent lot of time learning/understanding it in detail).
Nemanja Trifunovic wrote:
Especially CSS for layout.
To some extent yes, the headaches have more to do with IE's poor support for CSS. Open XAML (if at all there will be one) is not going to solve the problem. CSS is extremely flexible, and if implemented right by all browsers (well one specific browser) it can lead to amazing things which is not always possible via XAML.
-
That's changed then. (I just looked). When all hell broke loose over the flash development tools, Mono posted an announcement, that it was all unsure, and they were working diligently with apple to resolve the situation. (the usual marketing crap). Now from my reading of the developer license (which I can't get officially before buying the bloody thing), the new license version precluded the use of any cross-compilers. (which to my mind, was the official reason why they banned the flash kit). So it's even worse: Flash is banned from the IPhone, not because they breach any (restrictive) license agreements. But because Steve Jobs does not like their face. So much for honest business practices. Adobe should sue the pants off them for crimes against IT.
I said MonoTouch does not break the licensing agreement, I did not say that Flash does not break the licensing agreement. Monotouch and Flash CS5 for iPhone work differently. In case of Monotouch code gets converted to Objective-C and gets compiled in the same way as regular Objective-C code gets compiled. Looking at the executable you cannot say whether the code was written using MonoTouch or not. However, in the now abandoned Flash CS5 for iPhone, people developed Flash applications which ran on a separate run time. Flash runtime did all the rendering: you cannot use any native controls or APIs.
-
Having developed under the chaos of the Microsoft model for the last 20 years and seen the long list of development models and technologies first evangelized then all too quickly abandoned by Microsoft I've grown pessimistic. The simplicity and order of Mac OS X and iPhone OS development appeals to me these days. Just wish I had the time to actually do it. :doh:
True, but how long has MacOs been around in it's current incarnation? If you've built kit for the original Mac (the 68K based one), you've already binned it once. If you've developed for the Power based one, you can bin your stuff soon enough. I have Dos and Windows 2.0 programs that can still run (admittedly, I don't want to use them anymore :-) )
-
What CSS gives me is the ability to change the layout just by changing a CSS file. Sites such as http://csszengarden.com/[^] are possible with that. If that is not your intention HTML still provides tabular layout. In XAML you do not have that option without rewriting a major portion of your markup.
-
What CSS gives me is the ability to change the layout just by changing a CSS file. Sites such as http://csszengarden.com/[^] are possible with that. If that is not your intention HTML still provides tabular layout. In XAML you do not have that option without rewriting a major portion of your markup.
Rama Krishna Vavilala wrote:
What CSS gives me is the ability to change the layout just by changing a CSS file
The idea is good - they just screwed the implementation badly.
-
Well said, and I agree completely. However, it looks like for the Windows Phone 7, we may see the same business model as for IPhone...
Michel Godfroid wrote:
it looks like for the Windows Phone 7, we may see the same business model
Really !? :doh: I hope they have more sense than that. I haven't read much about the Win phones yet. I understand the recommended route is to develop silverlight apps for it?
Simon
-
I said MonoTouch does not break the licensing agreement, I did not say that Flash does not break the licensing agreement. Monotouch and Flash CS5 for iPhone work differently. In case of Monotouch code gets converted to Objective-C and gets compiled in the same way as regular Objective-C code gets compiled. Looking at the executable you cannot say whether the code was written using MonoTouch or not. However, in the now abandoned Flash CS5 for iPhone, people developed Flash applications which ran on a separate run time. Flash runtime did all the rendering: you cannot use any native controls or APIs.
That's intriguing. So you're saying MonoTouch is not a cross-compiler? It generates object-code? (excuse my ignorance, I haven't looked into this). But I thought the Ipod/Iphone/Ipad chip was proprietary (we'll I have heard it said that was really a beefed-up ARM design). I thought the specs of this chip were never released, so how does Mono generate code for it (If it's not a CLI interpreter, but I thought interpreters were also banned cfr:java?)
-
Shog9 wrote:
HTML+JS+CSS
They were pushing it in the version 1.0 of iPhone till everyone complained and they caved in and exposed the native SDK. BTW: HTML5 and CSS3 animations and rendering are all hardware accelerated on the iPhone.
Yes, and nobody coded for it... Now to be honest, it seems like Chrome OS is taking the same restrictive route :-)
-
Shog9 wrote:
HTML+JS+CSS
They were pushing it in the version 1.0 of iPhone till everyone complained and they caved in and exposed the native SDK. BTW: HTML5 and CSS3 animations and rendering are all hardware accelerated on the iPhone.
Rama Krishna Vavilala wrote:
They were pushing it in the version 1.0 of iPhone till everyone complained and they caved in and exposed the native SDK.
Yup. And now it's the ghetto where Google Voice lives, eh? :rolleyes: I hate Flash. I will not be sad to see it die. But it's a shame that the death-blow will come from an even more closed platform.
-
Rama Krishna Vavilala wrote:
What CSS gives me is the ability to change the layout just by changing a CSS file
The idea is good - they just screwed the implementation badly.
There might be some issues here and there but compared to XAML in its current form, I will prefer CSS any day.
-
That's intriguing. So you're saying MonoTouch is not a cross-compiler? It generates object-code? (excuse my ignorance, I haven't looked into this). But I thought the Ipod/Iphone/Ipad chip was proprietary (we'll I have heard it said that was really a beefed-up ARM design). I thought the specs of this chip were never released, so how does Mono generate code for it (If it's not a CLI interpreter, but I thought interpreters were also banned cfr:java?)
MonoTouch C# code get converted to Objective-C code which links with mono touch library to generated the executable. Flash CS5 for iPhone Flash Code and Flash runtime gets combined into a application package. At runtime, the flash runtime runs the flash code.
-
Rama Krishna Vavilala wrote:
They were pushing it in the version 1.0 of iPhone till everyone complained and they caved in and exposed the native SDK.
Yup. And now it's the ghetto where Google Voice lives, eh? :rolleyes: I hate Flash. I will not be sad to see it die. But it's a shame that the death-blow will come from an even more closed platform.
Shog9 wrote:
Yup. And now it's the ghetto where Google Voice lives, eh?
Yes and it works amazingly well. In my opinion lot of apps on the App store can just be written as web applications.
-
MonoTouch C# code get converted to Objective-C code which links with mono touch library to generated the executable. Flash CS5 for iPhone Flash Code and Flash runtime gets combined into a application package. At runtime, the flash runtime runs the flash code.
I see, so cross compilers are allowed the (the mono thing), but flash is really partially interpreted, and so breaks the license agreement. Thanks!
-
ragnaroknrol wrote:
The point was to have developers not be subject to 3rd party adoption of new stuff.
I sorry, but this argument that SteveJ keeps putting across is complete garbage. Not every developer wants to take advantage of every cutting edge platform feature. Sometimes I'm more interested in cross platform development. If I'm making an application I might want it to run in several different places. The point is that the choice should be up to me as a developer, not Apple or Steve. If I want to use a framework that is cross platform, that caters to the "lowest common denominator" then that is my choice. What Apple have done is removed the choice and made the only option to write my application multiple times. Yes, some developers will choose to code against the raw APIs, because they want cutting edge features. It's the same in Windows. If you want access to the latest APIs for the latest platform you will probably have to go to C++ and COM API's. .Net tends to lag behind. The fact is that what Apple should have done was put out a statement encouraging developers to developer directly for the IPhone without a framework and list all their reasons why. If developers agreed they would have done what Apple asked, purely for the right reasons. Some wouldn't have, but some might have had very good reasons for using a framework. Instead, they haven't even tried to put their argument across in a open and frank manor, they've just thrown their toys out the pram and demanded that everyone do it their way or no way. Steve's argument that they want to protect the platform and developers is rubbish, they just want to encourage lock in to their platform. They want to discourage cross platform apps.
Simon
Simon P Stevens wrote:
The point is that the choice should be up to me as a developer, not Apple or Steve.
Oh! you do have a choice, do not develop for that platform.
-
There might be some issues here and there but compared to XAML in its current form, I will prefer CSS any day.
Rama Krishna Vavilala wrote:
some issues
Only one issue: it is fundamentally broken. Using hacks like margin-left is a horrible way to define columns. Things like fonts and colors, sure, but they really screwed with the layout. Compare it with XAML:
<Grid ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="146" />
<ColumnDefinition Width="146" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="135" />
<RowDefinition Height="135" />
</Grid.RowDefinitions>
< /Grid > -
I fully agree with what Steve says about how openness and standards are important, if not critical. I've said similar myself before and I'm fully in support of not-supporting flash. Unfortunately with Apple's decision only a few weeks ago to change their AppStore licensing agreement to require the use of Apple's propriety toolset (and forbidding anything 3rd party like MonoTouch) they are just as bad, if not worse than Adobe. What a hypocrite. Shut up Steve, fix your own company's business practises before you criticize others. Personally I will never buy an apple product until they change their practises and treat developers with respect.
Simon
Look below, apparently Monotouch is allowed. The things not allowed are things which cheat and aren't compiled into Objective C. Adobe tried to get flash on the iPhone by making a sloppy hack. They stopped that without stopping people from writing code and porting code to be native.
-
Thoughts on Flash[^] by Steve Jobs Love him or hate him but IMHO he's got this one right. Thoughts?