Adobe Flash / Flex for iOS与MonoTouch相比如何?

时间:2023-01-12 18:47:34

With Adobe now you can make Flash/Flex compile to the iPhone and iPad. How does that compare to MonoTouch?

现在使用Adobe,您可以将Flash / Flex编译为iPhone和iPad。与MonoTouch相比如何?

Does the Adobe solution really compile into native iOS code? Or is it just a iOS Air container that runs your code which is able to access the natife iOS calls through the Air container? I'm wondering what is different with Adobe compared with MonoTouch.

Adobe解决方案是否真的编译为本机iOS代码?或者它只是一个运行代码的iOS Air容器,它能够通过Air容器访问natife iOS调用?我想知道Adobe与MonoTouch相比有什么不同。

I just want to know the differences between the two technologies. If any. Or do they work exactly the same way on principle.

我只是想知道这两种技术之间的差异。如果有的话。或者它们原则上的工作方式完全相同。

3 个解决方案

#1


8  

They both create a native binary that runs on the device. The short answer is that monotouch lets you use Apple's SDK in a language other than objective-c. You also get access to the mono base class library and can write managed code instead of unmanaged. You are still in essence writing an application much like you would if you chose to use objective-c since monotouch creates bindings to native Cocoa Touch APIs.

它们都创建了在设备上运行的本机二进制文件。简短的回答是monotouch允许您使用Objective-c以外的语言使用Apple的SDK。您还可以访问单基类库,并可以编写托管代码而不是非托管代码。您仍然在编写应用程序,就像您选择使用objective-c一样,因为monotouch会创建与本机Cocoa Touch API的绑定。

Adobe Air/Flex is abstracted a bit more. Yes it lets you avoid objective-c as well but you aren't really using the Cocoa Touch SDK but Adobe's. This means it is potentially more cross platform but may not perform as well. It is still ultimately compiled down to a native binary.

Adobe Air / Flex被抽象了一些。是的,它可以让你避免使用Objective-c,但你并没有真正使用Cocoa Touch SDK而是使用了Adobe。这意味着它可能更具跨平台性,但可能效果不佳。它最终仍然编译为原生二进制文件。

#2


1  

Does the Adobe solution really compile into native iOS code?

Adobe解决方案是否真的编译为本机iOS代码?

Yes, that is why it can take a long time to create a formal release build. I've reports that it takes anywhere from five minutes (not too bad) to >30 minutes to do an export for iOS.

是的,这就是创建正式发布版本需要很长时间的原因。据我所知,iOS导出需要5分钟(不算太差)到30分钟左右。

Source for this information

此信息的来源

The Standard method of packaging translates the bytecode of the application's SWF file into ARM instructions before packaging. Because of this additional translation step before packaging, this method of creating an application (IPA) file takes several minutes. The Standard method takes longer than the Fast method. However, the application performance with the Standard method is release-quality, and it is suitable for submission to the Apple App Store.

标准打包方法在打包之前将应用程序的SWF文件的字节码转换为ARM指令。由于打包前的这个额外的转换步骤,这种创建应用程序(IPA)文件的方法需要几分钟。 Standard方法比Fast方法花费的时间更长。但是,使用标准方法的应用程序性能是发布质量的,并且适合提交到Apple App Store。

Source 2

On iOS, ADT converts the SWF file byte code and other source files into a native iOS application.

在iOS上,ADT将SWF文件字节代码和其他源文件转换为本机iOS应用程序。

-

Or is it just a iOS Air container that runs your code which is able to access the natife iOS calls through the Air container?

It is against the Apple Developer Licensing agreements to do any sort of runtime processing or parsing of code. That is the reason why some features, such as SWFLoader are not support on iOS.

对Apple Developer Licensing协议进行任何类型的运行时处理或代码解析都是违反的。这就是为什么某些功能,例如SWFLoader不支持iOS的原因。

I don't know anything about Monotouch, though, so cannot compare the two.

我对Monotouch一无所知,所以无法比较两者。

#3


-2  

I think the links below should answer your question

我认为下面的链接应该回答你的问题

http://help.adobe.com/en_US/flex/mobileapps/WSADC382C9-CEBC-47c6-81AD-975D9A72C677.html

http://help.adobe.com/en_US/air/build/WS901d38e593cd1bac35eb7b4e12cddc5fbbb-8000.html

Although I don't know anything about monotouch so can't compare.

虽然我对monotouch一无所知所以无法比较。

#1


8  

They both create a native binary that runs on the device. The short answer is that monotouch lets you use Apple's SDK in a language other than objective-c. You also get access to the mono base class library and can write managed code instead of unmanaged. You are still in essence writing an application much like you would if you chose to use objective-c since monotouch creates bindings to native Cocoa Touch APIs.

它们都创建了在设备上运行的本机二进制文件。简短的回答是monotouch允许您使用Objective-c以外的语言使用Apple的SDK。您还可以访问单基类库,并可以编写托管代码而不是非托管代码。您仍然在编写应用程序,就像您选择使用objective-c一样,因为monotouch会创建与本机Cocoa Touch API的绑定。

Adobe Air/Flex is abstracted a bit more. Yes it lets you avoid objective-c as well but you aren't really using the Cocoa Touch SDK but Adobe's. This means it is potentially more cross platform but may not perform as well. It is still ultimately compiled down to a native binary.

Adobe Air / Flex被抽象了一些。是的,它可以让你避免使用Objective-c,但你并没有真正使用Cocoa Touch SDK而是使用了Adobe。这意味着它可能更具跨平台性,但可能效果不佳。它最终仍然编译为原生二进制文件。

#2


1  

Does the Adobe solution really compile into native iOS code?

Adobe解决方案是否真的编译为本机iOS代码?

Yes, that is why it can take a long time to create a formal release build. I've reports that it takes anywhere from five minutes (not too bad) to >30 minutes to do an export for iOS.

是的,这就是创建正式发布版本需要很长时间的原因。据我所知,iOS导出需要5分钟(不算太差)到30分钟左右。

Source for this information

此信息的来源

The Standard method of packaging translates the bytecode of the application's SWF file into ARM instructions before packaging. Because of this additional translation step before packaging, this method of creating an application (IPA) file takes several minutes. The Standard method takes longer than the Fast method. However, the application performance with the Standard method is release-quality, and it is suitable for submission to the Apple App Store.

标准打包方法在打包之前将应用程序的SWF文件的字节码转换为ARM指令。由于打包前的这个额外的转换步骤,这种创建应用程序(IPA)文件的方法需要几分钟。 Standard方法比Fast方法花费的时间更长。但是,使用标准方法的应用程序性能是发布质量的,并且适合提交到Apple App Store。

Source 2

On iOS, ADT converts the SWF file byte code and other source files into a native iOS application.

在iOS上,ADT将SWF文件字节代码和其他源文件转换为本机iOS应用程序。

-

Or is it just a iOS Air container that runs your code which is able to access the natife iOS calls through the Air container?

It is against the Apple Developer Licensing agreements to do any sort of runtime processing or parsing of code. That is the reason why some features, such as SWFLoader are not support on iOS.

对Apple Developer Licensing协议进行任何类型的运行时处理或代码解析都是违反的。这就是为什么某些功能,例如SWFLoader不支持iOS的原因。

I don't know anything about Monotouch, though, so cannot compare the two.

我对Monotouch一无所知,所以无法比较两者。

#3


-2  

I think the links below should answer your question

我认为下面的链接应该回答你的问题

http://help.adobe.com/en_US/flex/mobileapps/WSADC382C9-CEBC-47c6-81AD-975D9A72C677.html

http://help.adobe.com/en_US/air/build/WS901d38e593cd1bac35eb7b4e12cddc5fbbb-8000.html

Although I don't know anything about monotouch so can't compare.

虽然我对monotouch一无所知所以无法比较。