What's the point of this?

So when building an app what’s the point of connecting to the server to build it? Why can’t it just be local? I know enterprise can just build locally with no connection but why does the free Corona SDK have to build over the server?

I don’t have a problem with it. I’m just wondering.

–SonicX278

Good  question!  Let me see if I can help answer it…  (answers are given in no particular order)

  1. Plugins and Download Sizes - You need to connect to get the latest and correct copy of plugins.

a. These are cached locally after the first build of an app.

b. If all of the plugins came in each downloadable build, the images would needlessly inflated.

c. Having the plugins remotely sourced provided the ability to ‘late fix’ a compatibility issue in the plugins.

(only applies to pure lua plugins; I believe non-lua plugins stay on the server since that is where they are integrated into the build.)

  1. (Legacy)  Licensing control.  Remember, Corona was not always free, and in the past this was how it was controlled.  You could run in the simulator, but needed the server to enable builds.  Their system has been set up this way for so long, that it would be a significant endeavor to change it.  Personally, I’d rather they spend ergs on bugs and features. 

  2. Consistency and Ease of Builds - You mention Enterprise.  You may not be aware of this, but over time enterprise users have to update their environment to be compatible with Corona’s and the target OS’s needs.  It is gradual, but the changes do occur.

Imagine how hard it would be for new users to have to install everything enterprise users do.  This would simply be beyond many new users’ abilities.  That is, it would insert way too much friction into the process.

Also, if in-expert users were faced with this task, they would inevitably make mistakes (we already see this to some degree with the Java version versus OS version problems some face between Windows Vista/7/10).  This would lead to a deluge of forums posts and bug reports all based on user mistakes and not actual issues with Corona.  Chaos!   :slight_smile:

There are probably more reasons…

Thanks! That’s all I really wanted to know!

–SonicX278

Good  question!  Let me see if I can help answer it…  (answers are given in no particular order)

  1. Plugins and Download Sizes - You need to connect to get the latest and correct copy of plugins.

a. These are cached locally after the first build of an app.

b. If all of the plugins came in each downloadable build, the images would needlessly inflated.

c. Having the plugins remotely sourced provided the ability to ‘late fix’ a compatibility issue in the plugins.

(only applies to pure lua plugins; I believe non-lua plugins stay on the server since that is where they are integrated into the build.)

  1. (Legacy)  Licensing control.  Remember, Corona was not always free, and in the past this was how it was controlled.  You could run in the simulator, but needed the server to enable builds.  Their system has been set up this way for so long, that it would be a significant endeavor to change it.  Personally, I’d rather they spend ergs on bugs and features. 

  2. Consistency and Ease of Builds - You mention Enterprise.  You may not be aware of this, but over time enterprise users have to update their environment to be compatible with Corona’s and the target OS’s needs.  It is gradual, but the changes do occur.

Imagine how hard it would be for new users to have to install everything enterprise users do.  This would simply be beyond many new users’ abilities.  That is, it would insert way too much friction into the process.

Also, if in-expert users were faced with this task, they would inevitably make mistakes (we already see this to some degree with the Java version versus OS version problems some face between Windows Vista/7/10).  This would lead to a deluge of forums posts and bug reports all based on user mistakes and not actual issues with Corona.  Chaos!   :slight_smile:

There are probably more reasons…

Thanks! That’s all I really wanted to know!

–SonicX278