Where are the makefiles ?

I downloaded the sources. I am probably studpid but I did not found where are the makefiles

I believe you asked this question to support this morning.  First time forum posters get held in moderation, which is probably why you asked this question twice in the forums. I’ve removed the other forum post and responded to the support ticket, but I would have much rather responded here so the community could benefit from the answer. Now we are going to have to respond twice since support messages are not searchable or sharable.

In the main package there is a “platforms” file. Inside there are folders for whatever platform you want to compile Corona for. If you want to build the simulator for macOS, cd to the “mac” folder and open the rataltoullie.xcodeproj file. If you’re on Windows, open the CoronaSimulator.sln file in Visual Studio. In the linux folder is a traditional makefile.

For HTML5 it’s in the emscripten folder and there is an rtt.sln or rtt.xcodeproj file.

Rob

Hi Rob, I am really sorry for the duplicate post. I will do better next time.

No problem to build the Corona Simulator, now.

I am currently investigating for a multi-device toolkit to port a Delphi project: I am not happy with Delphi.

I am totally impressed by my first contact with Corona tools. I was able to run the demo in about half an hour, running at the same time on :

  • The Corona simulator
  • The Apple iOS simulator
  • An iPad
  • An Android phone

And when I changed the LUA source the four devices was updated in less than a second. This is totally amazing. More, I am fool of LUA. For me LUA is much more fun than Dart (Flutter) or Javascript (React Nativ).

At first seeing it seems that Corona miss two things :

  • A complete set of components/widget library for developing a desktop application (Corona seems to be very ‘Game’ oriented).
  • A graphic editor with integrated menus to change the visual components properties (like Lazarus or Delphi)

Probably the Corona Community could work, at least, on the first point. This is the reason I am in the process of separating what is Open Sources and what is Closed Sources

/Larpoux

Glad to here.

One of the reasons that we haven’t expanded the widget library is that device UI’s are becoming more diverse. How you would build a navigation bar for iOS is pretty radically different for what you would see on Android or a Window’s desktop app. Google and Apple keep tweaking the look of even simple items like buttons it’s really hard to build a universal library that handles all the possible combinations of UI elements.

Rob

Yes, this is true that building an UI for multi-devices is something like a chalenge. But every programer trying to build an application for multi OS and multi devices will be in front of this major problem. So I think better to solve this chalenge in the framework than in the application. Corona is not tied with a specific plateform. Using OpenGL we could build a graphic library handling all the basic components mandatory for a modern UI :

  • Group box
  • Combobox
  • Listbox
  • Context menus
  • Modal dialog boxes
  • tree views
  • Splitters
  • Table views

There is a tradeof to find between an application that  looks the same as others application on a given device or an application that looks the same when running on diferent devices. My own thinking is that I prefer the later. I am no really concerned by all those stupidities like Metal Design, Cupertino Design or Material Design.

At one time all the interfaces was 3d looking (Next Step, Motif, Windows 95,…). Now there are all flat. Having software depending on fashion is ridiculous.

Hi @larpoux.

If you’re really motivated, and since it sounds like you’re not afraid of C++, you might take a look at some of the following. (Some other promising candidates unfortunately have not-so-friendly licenses, but the ones listed here should be fine.)

nuklear, by vurtun (a couple Lua bindings mentioned there)

ImGui Lua bindings, by Patrick Riordan (see also the linked LOVE binding, which might be easier to adapt)

Eric Wing (who was part of Corona for a while), has done some work improving IUP on several targets, e.g. see his Lua Workshop talk:

[media]https://www.youtube.com/watch?v=MQONe3yHxCk[/media]

I’ve long been considering a wrapper for memononen’s nanovg. To work properly it’s supposed to require a stencil buffer. I’ve made a pull request that provides this, but so far only on Windows. (It might work just fine on the rest, but I haven’t been able to test. I could actually use non-Windows help on open source stuff, at the very least until I can get some hardware sorted.)

A couple of those possibilities might want vertex colors, which I’ve also got mostly ready to submit.

Thank you for the links. Some of those projects seem very interesting. But now, before starting a real project I have many things to do :

be familiar with Corona, learn OpenGL (I have no notion of OpenGL), refresh my memory about Lua. Today I fighted with coordinate objects and Groups. I think that a graphic tool will help understanding those notions and will help the user to build his interface.

But now it is time for me to learn. Not to code.

I have just finished the port of my Delphi project under Corona. Here are my conclusions :

    • This was fun. Very fun. Lua is a terrific language. And it’s a real pleasure to work with Corona tools
    • The easyness to build  for iOS and Android devices is astonishing for someone who had fight with Delphi during months.
    • The Corona Simulator is really great. The speed to develop an UI is greatly improved by this amazing tool
    • OpenGL is very good for building a user interface running on multi devices (I used the config : scale = "zoomStretch”)

But:

    • The components/widgets are really too basics. I did not found any way to :
  •     Call a modal dialog box to ask the user a confirmation before doing something irreversible
  •     Have an event when the user hit a Label (text)
  •     Allow the user to edit a field
  •     Resize a button on the flight (maybe because of my inexperience)
  •     Build a Check Button with a label
  •     Wrap words on several lines
      • and many others things that was necessary for my application
      1. An IDE for building the UI is desperately missing. The unit responsible of creating my main form is xxx lines of horrible code. I spent more than a week to build this form. And the result is totally indigest. (Probably a Corona developer more accustomed would have done better, but still, this coding process can be improved).

Perhaps the free community could work, at least on the first point.

The problem I see integrating another modern framework on Corona is that Corona is built from top to bottom on OpenGL. Chosing a framework running on OpenGL is very limitating.

My actual thinking is to try to link the Corona engine with the Flutter library. Flutter is probably promised to a great future.

As a Corona user I would love to build an application with some Forms/Screens/Scenes/Pages (many names for the same concept) running on OpenGL, and some others built with the very powerfull Flutter library. All the user application being coded with Lua, and not Dart. Dart seems to be a very good language but certainly not as “fun” as Lua. And not good for a developer to work with two differents tools/languages/debugger/etc…

I do not know if this is even feasible. Flutter is architectured from top to bottom with Dart, and use the Skia graphic engine, not OpenGL. Also, if this project is feasible, I am affraid to get in the final a two-headed monster.

I am also looking to two others free projects who implemented Lua on Flutter as Flutter plugins. The problem is that those two projects consider Lua as a script facility usable from a Flutter application. My idea is not to call scripts from Dart but is exactly the opposite : call the Flutter library from a Lua application. I do not know if it is easy or even possible to reverse those plugins so that the user application will run on the Lua side. If it is possible (and not too difficult) maybe the result will be cleaner than building a framework side to side with the actual Corona stack. All those ideas need more investigation.

I am also doubtful verifying that Corona is really GPL3 complient.

When I studied the “Build” function of the Corona Simulator I found a call to a Corona Server to create the app.

If Corona is GPL3 complient, this operation must be accessible and need to be modified. But now I have no idea where are the sources of this procedure and how to modify it.

Right now I was not able to create a demo App without using the Corona Simulator and so, calling this obscure procedure on the Corona server.

I am wondering if there is already free communities who are working (or worked) on the apps building process of Corona ?

Thank you. All this, is only my actual delirium and need much more investigation.
 

  •     Call a modal dialog box to ask the user a confirmation before doing something irreversible

Most people would use native.showAlert() for this.

  •     Have an event when the user hit a Label (text)

label text is done with display.newText(). Since this is a display object, you can add touch and tap handlers to them

  •     Allow the user to edit a field

It’s very, very difficult to implement text editing in OpenGL in any cross platform manner. We use a native object for that: native.newTextField(). It generates events as users type in characters, erase them etc.

  •     Resize a button on the flight (maybe because of my inexperience)

Have you looked at the setLabel() API for widget.newButton()? http://docs.coronalabs.com/api/type/ButtonWidget/setLabel.html

  •     Build a Check Button with a label

Our widget.newSwitch() API can do check boxes and radio buttons, but you would need to do your own labels with display.newText()

  •     Wrap words on several lines

The display.newText() API supports multi-line text, but it requires you setting a width on the text. This tutorial may help: https://coronalabs.com/blog/2014/02/11/tutorial-methods-for-positioning-text/

 

Rob

Hi StarCrunch,

I spent some time looking to Nuklear and to MoonNuklear. This is is an interesting project and MoonNuklear did a nice job implementing an interface to Nuklear from Lua.

Finally, I stuck with my first idea to do a bridge from Corona to Flutter.

Right now, I am able to switch a screen from Corona to a Flutter screen, receive Lua events when the user hit a Flutter button, and come back to Corona when the user has finished with his Flutter screen.

This is just a proove of concept, but for me this is an important step. I am completly certain now that my project has sense.

My next step is to see what is possible  for linking Flutter to the Corona Simulator. The Corona simulator is really great. But I gues it will not be easy : actually Flutter is not ready for compatibilyness with desktops. And Corona Simulator is a desktop application.

If someone has advice for me for integrating a Native Application in the Corona Simulator I will be gratefull. Or some pointers to documentation…

[Note] : The Corona Simulator is really great, but I can live without it. The iOS Simulator and the Android Simulator are probably enough. But what I really need is the hot-reload when the user change his Lua code. Acutally I do not understand how Corona does this feature and where…

How are you doing this?

I sort of hopped around a bit in the Flutter repositories and saw that there was “engine” and also an (unofficial) “embedding” one. Are you using one of them?

No, I have no information on unsupported Corona engines.

I use the Corona Native feature who is very well documented. My actual work is coding an extension who is at the same time a plugin for Corona and a plugin for Flutter. This is a little tricky but it works fine.

Sorry, should have linked them, I suppose: engine and embedding

My question was more about how / where / etc. you’re attempting to connect Corona and Flutter.

My extension is a native plugin for Corona. When the App does a Lua ‘require()’, the Flutter engine is created as a headless extension.

When the App does a Lua “mylib.show(aFlutterRoute)”, iOS push a new screen for Flutter.

Flutter communicates with its plugin with channels, so events can be transfered from Dart to C, and C to Lua.

In the other direction, data/commands/events can be transfered from Lua to C and C to Dart, using traditional interfaces.

When the Flutter App does a Pop of its screen, iOS restore the Corona scene.

For Corona, my extension is just a normal native plugin.

For Flutter my extension is just a normal native plugin.

For iOS, Flutter and Corona are just normal way to show their screens

What I want is to allow a Corona App to have access to the Flutter library. Not only for the UI, but also other things like SQL database management. My project is also to be able to build a complete Flutter screen in Lua, without any Dart code.

In the other direction, I would like a Flutter App to have access to the Lua scripting facility.

What is needed to understand is that there is 3 actors :

  • Corona
  • Flutter
  • iOS

Both, Corona and Flutter consider themself as the boss.

But the real boss is in fact iOS

hi @StarCrunch,

I realize now that I did not answer correctly to your question : no, actually I do not use the Flutter engine for Desktops. Probably I will have to use it if we want to use the Corona Simulator. But actually I do not support the Corona Simulator (unfortunetly :frowning: ).

I opened a new thread because I agree with you : this one is stupid :

https://forums.coronalabs.com/topic/75648-mi-corazon-flutter-for-corona/#entry398879

I believe you asked this question to support this morning.  First time forum posters get held in moderation, which is probably why you asked this question twice in the forums. I’ve removed the other forum post and responded to the support ticket, but I would have much rather responded here so the community could benefit from the answer. Now we are going to have to respond twice since support messages are not searchable or sharable.

In the main package there is a “platforms” file. Inside there are folders for whatever platform you want to compile Corona for. If you want to build the simulator for macOS, cd to the “mac” folder and open the rataltoullie.xcodeproj file. If you’re on Windows, open the CoronaSimulator.sln file in Visual Studio. In the linux folder is a traditional makefile.

For HTML5 it’s in the emscripten folder and there is an rtt.sln or rtt.xcodeproj file.

Rob

Hi Rob, I am really sorry for the duplicate post. I will do better next time.

No problem to build the Corona Simulator, now.

I am currently investigating for a multi-device toolkit to port a Delphi project: I am not happy with Delphi.

I am totally impressed by my first contact with Corona tools. I was able to run the demo in about half an hour, running at the same time on :

  • The Corona simulator
  • The Apple iOS simulator
  • An iPad
  • An Android phone

And when I changed the LUA source the four devices was updated in less than a second. This is totally amazing. More, I am fool of LUA. For me LUA is much more fun than Dart (Flutter) or Javascript (React Nativ).

At first seeing it seems that Corona miss two things :

  • A complete set of components/widget library for developing a desktop application (Corona seems to be very ‘Game’ oriented).
  • A graphic editor with integrated menus to change the visual components properties (like Lazarus or Delphi)

Probably the Corona Community could work, at least, on the first point. This is the reason I am in the process of separating what is Open Sources and what is Closed Sources

/Larpoux