Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

miografico

macrumors member
May 16, 2011
97
0
If it's "cross-platform" then that means NONE of the UNIQUE FEATURES of iOS will be usable in these conversions. Otherwise, the conversion would not work on Android and Blackberry.

Hence, Apple's argument the first time. Apps wll be "ordinary" leading users to feel that it is iOS that is simply "ordinary."

There ought to be a disclaimer for these Apps.

I have many applications on my iPhone and iPad that buck Apple's user interface conventions. Every time I open them up the first words I speak are not, "I hate how this doesn't follow all of Apple's UI Conventions."

Don't be a lemming.

I am curious as to how developers truly view Flash as a development tool for iOS devices. I had a chance to consult on a project and found that the developers were nothing but frustrated with Flash.. the designers, on the other hand liked it because they (thought) they knew what they were doing... yet they brought in developers as well as me because they couldn't get the project off the ground... :rolleyes:

This is true as Adobe was thrown completely off base, killed the compiler project and had to reboot on their iOS efforts once comrade Jobs changed his mind. I believe with enough time and resources they will have a passable development product, but I still think that's another point release even with what I see above.

Probably because the OS X implementation of Flash was terrible. And if Adobe wasn't going to fix issues on that, who could say how well they would do an iOS version of Flash? So it's great that Adobe actually did a good version for something. However, Apple made its decision based on the support and performance Flash had on OS X. I also believe Apple examined Flash on other platforms and found issues as well.

I wish you had access to the console like we developers do so you could see how often native iOS applications crash as well. There is a major disinformation about what is a good development environment, compiler, toolset vs. who is a good programmer or a good group of coders in general. Stop believing propaganda.

The APIs specific to the OS that the developers use. Apple adds hundreds of them every update. Adobe Adobe won't be able to make their tools work consistent across every platform because many APIs are unique to specific platforms and so developers will have to make shortcuts and cut back on use of certain APIs and advanced features that don't exist on other platforms or are hard to represent across each one.

This is the problem with all cross platform solutions. That's why iTunes doesn't work as well on Windows compared to Mac and why Microsoft Office on Mac suffers compared to Microsoft Office on Windows. The OS is different and so coding the same features on different OSs is far more difficult than you probably realize. If these large companies have problems with this, how well do you think Adobe and small developers are going to be able to cope?

This all depends upon the context of your application itself. What is it your application was written to accomplish? What is its intent? Does it have a large user base or a limited user base? Is it a game or what could be considered more of a regular application? Is it something for the consumer or something to be used in house?. If you need the full features provided by the SDK then for all means go with the Xcode Objetive-C approach and have the full weight of the SDK behind you.

Options hurt no one they move the market forward.

iTunes runs like crap because the last two versions were honking bloated pieces of garbage.

You may be right regarding Unity and Flex, but the whole point of exporting iOS apps from the Flash Professional IDE is so that non-devs can draw their timeline-based sprite animations on the GUI.

This is nonsense outside of the Flash and Flash professional IDE. Flash Builder is a complete development environment using Actionscript and XML. Actionscript is a Javascript or ECMA compliant language. If you hate Actionscript you hate Javascript which means you hate other implementations of interactive content on the web outside of Flash: libraries such as JQuery full frameworks like Cappuccino, Sproutcore and etc.

Flash Builder (Used to be Flex) has a huge corporate market share for development of internal web applications and they perform really well. The Flex DataGrid alone and how it can handle millions of rows makes it worth the cost of a development license.

There's hardly any meaningful differences anymore. Anyone can transition between Obj C 2.0 and Java. The real complexity in porting apps is the UI. Java doesn't solve that problem.
your workflow is crippled?

I so wish that were the case 99% of the time for any major application it's a battle. They are two completely different languages, and while it is much easier to go from Objective-C to Java as opposed to C#, it's nowhere near as 1-2-3 done as you are making it. (And that's UI aside)

WP7 was last out of the gate, and has the smallest user base, why would they be outselling iPhone and Android apps? Especially by a huge margin?

Microsoft has a marketing problem and a leadership problem. It's name is Steve Ballmer.
 

gnagy

macrumors regular
Sep 7, 2009
166
15
Really? That interesting, I've looked at Obj C, but never tackled since I don't have a mac. But now that I am getting on I will take another look.

If you have used Objective C, can you translate this quick Java code to Obj C.

Code:
import com.appname.features;

public class ObjCToJavaTest {
	
	private string name;
	private string id;
	
	public ObjCToJavaTest () {
		this.name = '';
		this.id = '';
	}
	
	public Test(string _name, string _id) {
		this.name = _name;
		this.id = _id;
	}
	
	public void outputMessage() {
		System.out.println(printMessage());
	}
	
	private string printMessage() {
		if(valuesSet())
			return id + " " + name; 
		else
			return "Values not set";
	}
	
	private boolean valuesSet() {
		return !name.equals("") && !id.equals("");
	}

	public static void main(String args[]) {
		Test firstTest = new Test();
		System.out.println(firstTest.outputMessage());
		
		System.out.println();
		
		Test secondTest = new Test(".11", "42");
		System.out.println(secondTest.outputMessage());
	}
}


I'm not sure what this is going to prove, but I translated your code. And mine will compile and run, too. I'm pretty sure this is wrong:
System.out.println(firstTest.outputMessage())
You are passing a void function into System.out.println(), which shouldn't work....

Code:
#import <Foundation/Foundation.h>

@interface Test : NSObject {
@private
    NSString *name;
    NSString *theId;
}

- (id)init;
- (id)initWithName:(NSString *)_name andId:(NSString *)_theId;
- (void)outputMessage;
- (NSString *)printMessage;
- (BOOL)valuesSet;

@end

@implementation Test

- (id)init
{
    if ((self = [super init]))
    {
        self->name = @"";
        self->theId = @"";
    }
    return self;
}

- (id)initWithName:(NSString *)_name andId:(NSString *)_theId
{
    if ((self = [super init]))
    {
        self->name = _name;
        self->theId = _theId;
    }
    return self;
}

- (void)outputMessage
{
    NSLog([self printMessage]);
}

- (NSString *)printMessage
{
    if([self valuesSet])
    {
        return [NSString stringWithFormat:@"%@ %@", theId, name];
    }
    else
    {
        return @"Values not set";
    }
}

- (BOOL)valuesSet
{
    return ([name compare:@""] != 0 && [theId compare:@""] != 0);
}

@end


int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    Test *firstTest = [[Test alloc] init];
    NSLog([firstTest printMessage]);

    Test *secondTest = [[Test alloc] initWithName:@".11" andId:@"42"];
    NSLog([secondTest printMessage]);

    [firstTest release];
    [secondTest release];
    [pool drain];
    return 0;
}
 

.11

macrumors member
Jun 17, 2011
47
0
I'm not sure what this is going to prove, but I translated your code. And mine will compile and run, too. I'm pretty sure this is wrong:
System.out.println(firstTest.outputMessage())
You are passing a void function into System.out.println(), which shouldn't work....

Code:
#import <Foundation/Foundation.h>

@interface Test : NSObject {
@private
    NSString *name;
    NSString *theId;
}

- (id)init;
- (id)initWithName:(NSString *)_name andId:(NSString *)_theId;
- (void)outputMessage;
- (NSString *)printMessage;
- (BOOL)valuesSet;

@end

@implementation Test

- (id)init
{
    if ((self = [super init]))
    {
        self->name = @"";
        self->theId = @"";
    }
    return self;
}

- (id)initWithName:(NSString *)_name andId:(NSString *)_theId
{
    if ((self = [super init]))
    {
        self->name = _name;
        self->theId = _theId;
    }
    return self;
}

- (void)outputMessage
{
    NSLog([self printMessage]);
}

- (NSString *)printMessage
{
    if([self valuesSet])
    {
        return [NSString stringWithFormat:@"%@ %@", theId, name];
    }
    else
    {
        return @"Values not set";
    }
}

- (BOOL)valuesSet
{
    return ([name compare:@""] != 0 && [theId compare:@""] != 0);
}

@end


int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    Test *firstTest = [[Test alloc] init];
    NSLog([firstTest printMessage]);

    Test *secondTest = [[Test alloc] initWithName:@".11" andId:@"42"];
    NSLog([secondTest printMessage]);

    [firstTest release];
    [secondTest release];
    [pool drain];
    return 0;
}

Lol! Your right about the void noobish mistake :D

And I'm not trying to prove anything, I plan to start learning objective C, and I wanted to see how similar Obj C 2.0 to Java is. I'm at work so I'll read your coded when I get off.
 

Dookieman

macrumors 6502
Oct 12, 2009
390
67
Wirelessly posted (Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_6 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8E200 Safari/6533.18.5)

So with Apple easing up on development environments, could this mean companies like Real Software produce iPhone apps with RealBasic? Or is this just one time deal?
 

.11

macrumors member
Jun 17, 2011
47
0
Code:
#import <Foundation/Foundation.h>

@interface Test : NSObject {
@private
    NSString *name;
    NSString *theId;
}

- (id)init;
- (id)initWithName:(NSString *)_name andId:(NSString *)_theId;
- (void)outputMessage;
- (NSString *)printMessage;
- (BOOL)valuesSet;

@end

@implementation Test

- (id)init
{
    if ((self = [super init]))
    {
        self->name = @"";
        self->theId = @"";
    }
    return self;
}

- (id)initWithName:(NSString *)_name andId:(NSString *)_theId
{
    if ((self = [super init]))
    {
        self->name = _name;
        self->theId = _theId;
    }
    return self;
}

- (void)outputMessage
{
    NSLog([self printMessage]);
}

- (NSString *)printMessage
{
    if([self valuesSet])
    {
        return [NSString stringWithFormat:@"%@ %@", theId, name];
    }
    else
    {
        return @"Values not set";
    }
}

- (BOOL)valuesSet
{
    return ([name compare:@""] != 0 && [theId compare:@""] != 0);
}

@end


int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    Test *firstTest = [[Test alloc] init];
    NSLog([firstTest printMessage]);

    Test *secondTest = [[Test alloc] initWithName:@".11" andId:@"42"];
    NSLog([secondTest printMessage]);

    [firstTest release];
    [secondTest release];
    [pool drain];
    return 0;
}

This is nothing like Java, it will take sometime to get the syntax down but it's not that bad.

Thanks for the translation!
 

RichCoder

macrumors member
Nov 30, 2004
36
0
Hey jclardy,

You say it is great for subscription services. Is it possible to still interface with the specific device APIs to handle subscription purchases? I'm curious because I have a subscription based iOS app, but I'm now looking at Android, Blackberry, etc. Recreating my iOS app with this might make the best sense as long I can still sell subscriptions on the iOS device.

Thanks,
-rich

It is great for subscription services that want to get on as many devices as possible as they no longer have to recode everything for the separate platforms. Of course you can already do this with web technologies like in the Netflix app which basically is just a web view.
 

MrNomNoms

macrumors 65816
Jan 25, 2011
1,156
294
Wellington, New Zealand
Funny enough this is coming at a moment where I am sitting on my Adobe CS5 and wondering whether I'm better off in the future purchasing a copy of Hype and Pixelmator to replace what I have. It may be all very nice for Adobe to boast about its huge customer base that is resistant to change but I'm sure a day of reckoning will come as the alternatives become more feature complete. The only thing that I use Flash for is to make slide shows but the reason I haven't changed over to an HTML has been laziness on my part and the lack of an easy to use tool to make it possible - with Hype being offered the reason to keep using CS5 becomes less and less.

This is truly getting beyond a joke; first they release CS5 with minimal changes over CS4, then they push out CS5.5 this year but refuse to backport features to CS5 and now they release Flash Builder/Flex 4.5 but no updates provided to CS5 customers - I have to ask why the hell I keep hanging around using Adobe products where Adobe seem to be hell bent on double dipping when it comes to customers; purchase the latest version of Creative Suite but in reality you haven't got the latest version because Adobe will sneak out a minimal paid update.

Don't get me started on their support policy - people give Microsoft a hard time but at least they support their products for the long term which is in stark contrast to Adobe who seem to stop supporting their products 6 months after releasing.

Oh well, Pixelmator 2.0 and Hype 1.x updates are just around the corner which will hopefully mean I can in the future free up 9GB worth of space by not having to install it any longer for my work.
 

ranReloaded

macrumors 6502a
Feb 16, 2010
894
-1
Tokyo
You mean like Corona SDK, that uses Lua script and makes some things deceptively easy..

Lua... We used that to script some actions on the PS3. But the graphics were done in ligcm, I believe (I was doing physics - from scratch because the middleware kinda sucked).

No, I mean software design philosophy.

In any case I don't think Epic is using either Unity3D or Corona.

Or all the iOS web apps that were developed using the WebVeiw...

Talk about being out of context...

Anyways, unless I've taken what you've written out of context -- which I doubt, you're speaking out of complete ignorance.

Seems some script kiddie felt offended, didn't we?

This is the age of the web,

No, my friend, this is the age of mobile. Limited resources. Can't afford to sit your lazy developer a** on some pile of inefficient, redundant and bloated middleware. Of course in any age there's people who do things the right way and people who cut corners.

do some research. READ for the sake of being informed.

I try to read things other than forum posts, but thank you for the advice.

I'm not sure what this is going to prove, but I translated your code. And mine will compile and run, too. I'm pretty sure this is wrong:
System.out.println(firstTest.outputMessage())
You are passing a void function into System.out.println(), which shouldn't work....

Code:
#import <Foundation/Foundation.h>

@interface Test : NSObject {
@private
    NSString *name;
    NSString *theId;
}

- (id)init;
- (id)initWithName:(NSString *)_name andId:(NSString *)_theId;
- (void)outputMessage;
- (NSString *)printMessage;
- (BOOL)valuesSet;

@end

@implementation Test

- (id)init
{
    if ((self = [super init]))
    {
        self->name = @"";
        self->theId = @"";
    }
    return self;
}

- (id)initWithName:(NSString *)_name andId:(NSString *)_theId
{
    if ((self = [super init]))
    {
        self->name = _name;
        self->theId = _theId;
    }
    return self;
}

- (void)outputMessage
{
    NSLog([self printMessage]);
}

- (NSString *)printMessage
{
    if([self valuesSet])
    {
        return [NSString stringWithFormat:@"%@ %@", theId, name];
    }
    else
    {
        return @"Values not set";
    }
}

- (BOOL)valuesSet
{
    return ([name compare:@""] != 0 && [theId compare:@""] != 0);
}

@end


int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    Test *firstTest = [[Test alloc] init];
    NSLog([firstTest printMessage]);

    Test *secondTest = [[Test alloc] initWithName:@".11" andId:@"42"];
    NSLog([secondTest printMessage]);

    [firstTest release];
    [secondTest release];
    [pool drain];
    return 0;
}

You're leaking an NSString on line 37... kidding! :D
 
Last edited by a moderator:

gnagy

macrumors regular
Sep 7, 2009
166
15
This is nothing like Java, it will take sometime to get the syntax down but it's not that bad.

Thanks for the translation!

Yeah, there's definitely a learning curve. It might even seem really difficult at first, but once you get used to it, you'll find it easy and fun.
 

miografico

macrumors member
May 16, 2011
97
0
Funny enough this is coming at a moment where I am sitting on my Adobe CS5 and wondering whether I'm better off in the future purchasing a copy of Hype and Pixelmator to replace what I have. It may be all very nice for Adobe to boast about its huge customer base that is resistant to change but I'm sure a day of reckoning will come as the alternatives become more feature complete. The only thing that I use Flash for is to make slide shows but the reason I haven't changed over to an HTML has been laziness on my part and the lack of an easy to use tool to make it possible - with Hype being offered the reason to keep using CS5 becomes less and less.

This is truly getting beyond a joke; first they release CS5 with minimal changes over CS4, then they push out CS5.5 this year but refuse to backport features to CS5 and now they release Flash Builder/Flex 4.5 but no updates provided to CS5 customers - I have to ask why the hell I keep hanging around using Adobe products where Adobe seem to be hell bent on double dipping when it comes to customers; purchase the latest version of Creative Suite but in reality you haven't got the latest version because Adobe will sneak out a minimal paid update.

Don't get me started on their support policy - people give Microsoft a hard time but at least they support their products for the long term which is in stark contrast to Adobe who seem to stop supporting their products 6 months after releasing.

Oh well, Pixelmator 2.0 and Hype 1.x updates are just around the corner which will hopefully mean I can in the future free up 9GB worth of space by not having to install it any longer for my work.

I agree on that completely they are an absolute pig with fees, what is included, and now that they are moving to half point releases are out of control. Not to mention the crap that breaks every time there is an upgrade with their design tools.
 

MrNomNoms

macrumors 65816
Jan 25, 2011
1,156
294
Wellington, New Zealand
I agree on that completely they are an absolute pig with fees, what is included, and now that they are moving to half point releases are out of control. Not to mention the crap that breaks every time there is an upgrade with their design tools.

And the blaming of Apple for their own crap programming is what erks me the most - they know their installer breaks every rule in the book but by hell or high water they're not going to let that get in their way of pushing out yet another minimal update of half baked 'enhancements' based on a pile of crap they called code.

I sometimes wish that Apple would go out, purchase the companies that make Hype, Pixelmator and Quark, and offer a a complete package (Final Cut X Pro + Compressor + Motion + Hype + Pixelmator + Quark (lots of improvements before releasing it)) for US$399. Adobe is in desperate need of facing some real competition because we've already see over the last couple of years what happens when Adobe has none.
 

ader

macrumors newbie
Jul 21, 2008
5
0
You may be right regarding Unity and Flex, but the whole point of exporting iOS apps from the Flash Professional IDE is so that non-devs can draw their timeline-based sprite animations on the GUI.

I'm pretty sure this scenario isn't available.

The original packager exported .fla files to iOS but never got out of beta if I remember correctly.

This new tool, does not allow designers to create content in the Flash IDE and export to iOS. It provides a means for Flex AS3 developers to create flex as3 mobile projects targeting iOS (and other platforms). The two are vastly different.
 

Bernard SG

macrumors 65816
Jul 3, 2010
1,354
7
Flash is coming on the iPad
flash_site.jpg


...not!

Source: http://scoopertino.com/apple-blinks-new-ipad-xl-to-offer-flash-capability/
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.