Corona suitable for developing business apps?

Since I was able to get my socket problem solved and now have a connection to our data files I’m trying to move ahead with Corona to develop some data mtce apps.

Having a hard time to find examples of text fields, text displays, etc. I.e. non-gaming user interaction.

Just not finding them or none there yet?

Another thought coming to mind is wether I should be using V2 Beta. I.e. is it further along re business apps?

Or am I simply too early in trying to use Corona for business apps, or worse yet, am I in the wrong corner altogether?

Thanks in advance for your comments.

BTW, don’t take this post to be a complaint. I’m just trying to budget my time resources.

Heinz

P.S. I did find Twitter and am currently dissecting it to see what I can carve out but was hoping for more, or rather closer to what might be used in a data mtce app :slight_smile: [import]uid: 6547 topic_id: 993 reply_id: 300993[/import]

Heinz,

It really depends on what you actually need. If you’re looking at a highly forms-driven App, then Corona is perhaps not the best choice in it’s present state. You might look at Appcelerator (altho, the documentation is quite poor there) or writing using Objective-C and XCode.

There are textfields and multi-line textareas, but the native widgets are few and far between and most have little idiosyncracies. Something as simple as a scrolled view has to be reproduced inside your own code as opposed to having a widget that handles that for you (with a nice little scroll bar and all the “normal” look and feel of the apple sdk).

Don’t get me wrong, Corona is awesome. I thoroughly enjoy it and working in Lua, but it does have it’s limitations at present and given the roadmap, I don’t see it being a viable forms-driven system for quite a while.

But these are all just my opinions and it really does depend entirely on what you need.

Scott [import]uid: 5659 topic_id: 993 reply_id: 2341[/import]

Thanks Scott.

Don’t really need forms, just simple interchange via text input and display.

I.e.
text input, such as a part number
on enter we build some XML and go get the record via sockets. We parse the XML coming back into half a dozen or so strings.
for the display, multi line display would be nice but we can simulate that by using several text fields to display some data fields, I.e. the parsed strings.
user can change 1 or 2 fields
confirms via a button
we build some more XML, get it done and ask for another part number.

My initial apps will be for special tasks, so relatively little data will be displayed, just enough to do the task, such as correcting bin qty for a part number

Not that I wouldn’t want to get fancier, simply that my initial requirements are pretty skimpy so I’m hoping that there is enough functionality to get started sooner rather than later. The fancier can follow as the SDK and my knowledge of it get better with time.

However, if I can’t satisfy those skimpy needs, then I have to consider alternatives. It’s been a long time since I’ve dabbled in C so Corona/Lua is very appealing.

Heinz

[import]uid: 6547 topic_id: 993 reply_id: 2342[/import]

Hi Heinz,

Scott basically hit the nail. In Corona you have to recreate the missing widgets with it’s graphic functionalities. Basically you have to approach it in the same manner like the sample of a scolling list view that was posted a while back. For some reason I can’t find the samples section on the website right now.

Michael [import]uid: 5712 topic_id: 993 reply_id: 2348[/import]

If that’s all you need Heinz, then Corona should do just fine. Especially once orientations all get fixed up for native widgets (that seems to be a recent sticking point for Apple). [import]uid: 5659 topic_id: 993 reply_id: 2349[/import]

Thanks for the encouragement Scott.

Actually making some headway taking Twitter apart, or rather ‘adjusting’ it :slight_smile:

Substituting display.newText and fixed values for native.newTextField for now so that I can stay in the simulator.

Back to another part of my original question: Would it help my efforts to use Version 2 Beta instead of 1.1?
No concerned with app store as my distribution will be very limited.

Heinz
[import]uid: 6547 topic_id: 993 reply_id: 2353[/import]

I don’t think the beta will be better than 1.1.

In fact I find beta 2 unusable when you want develop cross platform. I just play around atm with beta 1. [import]uid: 5712 topic_id: 993 reply_id: 2356[/import]

Thanks Mike.

I’ll stick with 1.1.

[import]uid: 6547 topic_id: 993 reply_id: 2357[/import]

MikeHart – what’s the problem with Beta 2 specifically?

We recommend using the new betas for iPhone development, since they have everything in 1.1 plus some bug fixes and added features. [import]uid: 3007 topic_id: 993 reply_id: 2368[/import]

Mike and I have the same problem with beta 2 for iPad development… our screen resolution is 1920x1200 so the iPad simulator starts up at 50% which completely screws up the internal coordinate system of the simulator. Basically, we see the top left quadrant of the iPad, but the coordinate system of the full app.

It’s a bug that was logged almost immediately after beta 2 shipped. I can’t imagine anyone running 1200 vertical or less resolution using beta 2 for iPad development as the simulator is not usable.

I was actually hoping you guys would ship a new version of the beta 2 code with that fix in… well… quite a while back. :slight_smile:

Scott [import]uid: 5659 topic_id: 993 reply_id: 2369[/import]

@evan

Any idea when the next beta release will happen? Since there are so many reported problems it would be nice to have scheduled released dates (i.e. every other Friday) to know when to expect an update.

Tom [import]uid: 6119 topic_id: 993 reply_id: 2370[/import]

This issue is fixed in Beta 3.

@Fogview – I’m honoring our policy to not guess at release dates while something is still in testing. We are trying for a fairly predictable release schedule, but this is an example of something that should have delayed Beta 2 a bit longer. [import]uid: 3007 topic_id: 993 reply_id: 2371[/import]

Have decided to move on to the Beta as on thinking about it I came to the conclusion that no new features are likely to show up in 1.1 and new (business app related) features are what I need :slight_smile:

Have made headway using the Twitter example as a starting point.
Don’t have any data input yet by the user, but I know how to get that (I think) once I build for the device.
socket exchange works
am parsing xml data, rather easily actually.
displaying parsed results in the Twitter confirm dialog

Still lots to do before I’ll call it app but am very encouraged. Certainly encouraged enough to spend more time.

I’m optimistic that the SDK will get better with time. Hopefully not a lot of time and hopefully business applications won’t be left behind or forgotten altogether.

In then meantime I’ll answer my own question and say yes, Corona seems suitable for business, at least for my purposes.
[import]uid: 6547 topic_id: 993 reply_id: 2372[/import]

Evan,

you were kidding when you asked what is wrong with beta 2, right? My guess is not.

The rest of my post I have deleted, because I am pissed now and my dissapointment is sky high.

[import]uid: 5712 topic_id: 993 reply_id: 2374[/import]

@MikeHart – no, I wanted to know if there was some OTHER problem I didn’t know about!

The simulator scaling bug does have a workaround: use config.lua to force the desired content resolution. For example, if you’re developing iPad content, save the following code to your project folder as “config.lua”:

application =  
 {  
 content =  
 {  
 width = 768,  
 height = 1024,  
 scale = "zoomStretch"  
 },  
}  

This workaround is annoying, but I believe the above performs as expected – I just tested it on a 15" screen! Let me know if this isn’t workable for some reason. [import]uid: 3007 topic_id: 993 reply_id: 2376[/import]

Evan,

no is doesn’t work as the coordinates of the touch events are wrong. Or does an IPad has a resolution of 1536x2048?
And this is no matter if I zoom the IPad simulator in or out. Same result.

Here is the damn test code AGAIN. I am sure it is wrong and you are right.

--\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
-- Orientation change sample script  
-- by Michael Hartlef  
-- April 29th, 2010  
--\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
  
display.setStatusBar( display.HiddenStatusBar )  
  
local cw,ch = display.contentWidth, display.contentHeight  
local w,h = display.stageWidth, display.stageHeight  
  
--This variable is needed so you can modify the touch coordinates in the onTouch handler function   
local orientation = 0 --portrait  
  
-- Create the main scene group which can be rotated on an orientation change  
grpScene = display.newGroup()  
grpScene.xReference = cw  
grpScene.yReference = ch  
  
-- Create a text and add it to the scene group  
local txt = display.newText( "Stage: "..w.." by "..h, 100, 220, "Verdana-Bold", 12 )  
txt:setTextColor( 0,255,255 )  
grpScene:insert(txt)  
  
local txt2 = display.newText( "Content: "..cw.." by "..ch, 100, 240, "Verdana-Bold", 12 )  
txt2:setTextColor( 0,255,255 )  
grpScene:insert(txt2)  
  
local txt3 = display.newText( "Touch: ".."000".." by ".."000", 100, 260, "Verdana-Bold", 12 )  
txt3:setTextColor( 0,255,255 )  
grpScene:insert(txt3)  
  
local rect2 = display.newRect(1,1,318,478)  
rect2.strokeWidth = 1  
rect2:setStrokeColor( 255,255,0 )  
grpScene:insert(rect2)  
  
-- Create a circle and add it to the scene group  
local circle = display.newCircle( 20, 20, 10 )   
circle:setFillColor(255,0,0,255)  
circle.tween = nil  
grpScene:insert(circle)  
  
--\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
local function onOrientationChange( event )   
--\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
 -- This code supports only 2 orientations, add the missing ones if you need them  
 -- or look into the manual to see how Ansca is doing it  
 if event.type == "portraitUpsideDown" then  
 transition.to( grpScene, { time=100, rotation=180 } )   
 orientation = 1  
 elseif event.type == "portrait" then  
 transition.to( grpScene, { time=100, rotation=0 } )   
 orientation = 0  
 end  
end   
  
--\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
-- Touch handler function  
local onTouch = function( event )  
--\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
 -- check if the orientation is upside down and modify the touch coordinates  
 if orientation == 1 then  
 event.x = w - event.x  
 event.y = h - event.y  
 end  
 -- Do something when the user touches the screen  
 if "began" == event.phase then  
 txt3.text = "Touch: "..event.x.." by "..event.y  
 if circle.tween ~= nil then  
 transition.cancel(circle.tween)  
 end  
 circle.tween = transition.to(circle, {time=700, x=event.x, y=event.y})  
 end   
end  
  
-- Add the event listener functions for the touch and orientation change event  
Runtime:addEventListener( "touch", onTouch )  
Runtime:addEventListener( "orientation", onOrientationChange )  

[import]uid: 5712 topic_id: 993 reply_id: 2378[/import]

Yah Evan, Mike is totally right. We’ve been through this in the other thread and there is not nor has there ever been a workaround. Beta 2 is dead in the water for *anyone* doing iPad development without a very large desktop resolution.

I even tried turning my monitor on it’s side so the resolution was 1200x1920, thinking that the simulator would then start in unzoomed mode… in fact I expected it to. Unfortunately, it did not.

I too was very disappointed there was not an emergency patch released for this. While I have been able to continue development on my iPad project with beta 1, it is not optimal when you guys continue to push the beta releases as ready for production use. In my opinion, this should have been immediately patched and a new release made available… even if only for folks who needed it.

Scott
[import]uid: 5659 topic_id: 993 reply_id: 2381[/import]

@MikeHart, @s.w.powers - you’re right, and we just shipped Beta 3, which fixes this properly.

Two things happened here: (i) we tried to get cute and add a convenience feature at the last minute in Beta 2, to open large simulators at less than 100%; and (ii) we clearly underestimated the severity of the resulting bug, since in theory the forced content scaling should have been a workaround (it worked for general scaling, but evidently not for touch events).

I believe this should be OK now, but can either of you confirm that Beta 3 definitely fixes the problem for you? [import]uid: 3007 topic_id: 993 reply_id: 2413[/import]

Well Evan, once an email arrives at my mailbox with the link to beta 3, then I will be able test beta3. [import]uid: 5712 topic_id: 993 reply_id: 2421[/import]

I was sneaky and I found it (I’ll grab it again when the announcement comes to make sure I’ve got the very latest!) and I’m happy to report the zoom issue with the simulator has been fixed.

I’ve not played with the zoom options yet, but I can at least use the simulator in the default fashion. [import]uid: 5659 topic_id: 993 reply_id: 2422[/import]