Lua and native code in Kony Studio - objective-c

I am trying to understand the "write once deploy anywhere" feature of Kony Studio. What about native code? I know that Kony added JavaScript support in V5 but as I understand it that is just for the Web-based app portion. Am I correct to assume that native code is still written with Lua and then generated for each platform? Do they convert Lua to Java, Objective-C and C# for the 3 main platforms? When debugging are you looking at Lua or the native language? - Thanks.

Kony embeds the google v8 js engine along with the native app. This will interprets the js code to native at runtime.

JavaScript is still used for scripting against the Kony API. LUA is not necessary for native apps. Remember that the API is an abstraction layer to the underlying native SDK - Kony is not a code gen tool.

Added to we can choose the developing language from javascript or Lua. If we choose Lua then instead of V8 engine it will be Lua Virtual machine that which is doing the interpretation.

Related

Before Start React Native what are the basic language known

I have experience in iOS native develop. I am new to react native. before to start what are language i must be familiar?. like Java Script
I clearly depends on what exactly do you want to do.
Only React Native? Then it is just a mix of JavaScript and Node.JS. You don't specifically use HTML, but CSS helps because it uses the same concept and classes.
Do you want to also have a custom package? You will need some basic knowledge in Android/Java and iOS.
Do you want to add Unit Testing / Automation? Jest, which is basically JavaScript and Appium for example. The latter supports varios languages but you might want to tart with Python because you can run that in Cloud services for automation.
Then, are you going to build the backend too? NodeJS, Java, Net, PHP, Python, etc, etc, etc.

Main differences between Appcelerator Titanium and React native

Both frameworks are (hybrid) mobile app frameworks which try to access the native UI components with the JavaScript API provided by the different platforms like iOS and Android. They don't use any HTML and CSS for the UI design like e.g. Ionic do and they are not wrapper frameworks but actually a kind of cross-compiler frameworks. That's what i found out. BUT I didn't get the actual differences between these two frameworks. Why should i prefer one of these? Are they doing exactly the same job?
best regards, Tom
I know this is quite old, but I'll give my answer for the benefit of anyone else arriving here.
Full disclosure, I worked for Appcelerator from 2012-2019.
In short, they're both quite similar.
You write a specific flavor of JavaScript that includes custom objects
Your JavaScript code gets compressed, minified, etc. so it becomes the input to an interpreter that gets shipped with your app
When your app runs, it launches the interpreter which starts executing your code
At this point, JavaScript is being run in "native land", so the interpreter can act as a bridge between your JavaScript code and the native SDK
The result is a native app with access to features of the underlying platform
A "native app" shouldn't simply be defined as an app that runs natively, because that would make a PhoneGap app a native app.
A "native app" should be defined as an app that runs and behaves natively. That means, an app that abides by the native OS' ui/ux guidelines.
MAIN DIFFERENCES?
I'd have to say that the main difference is its internal design. Appcelerator started in 2007, when "mobile" was very young.
React Native was launched in 2015.
In 2015 mobile was already in full swing, and mobile OS' were pretty mature, so I infer that React Native's design benefits from all lessons learned by Appcelerator (and others).
As for which one is better, I'd say React, because Titanium is now dead.

How can I use native 3rd party libraries with Cocos2D-JS?

I am evaluating to switch from CoronaSDK to Cocos2D for cross platform development.
The main requirement is that I need to be able to include native libraries for iOS and Android. I have come across How To Integrate a 3rd party SDK into Plugin-X, but I am not sure if and how this would apply to Cocos2D-JS.
How can native 3rd party libraries (like ad network SDKs) be integrated into a Cocos2D-JS project, that will get compiled into native iOS and Android apps? Anybody with experiences or best practices?
That would work like normal native lib integration. For example. You want to integrate Firebase for Android platform.
What you will do is open the Android cocos project into your favorite Android editor and write native code, you can make calls to Java functions you have defined by using JSB which is a mechanism provided by Cocos2d-JS to call native functions from JS code.
When you build for Android, your lib for Firebase and code will get compiled perfectly.
Same is the case if you want to do for iOS.
Cocos2d also has support for SDKBox which has many third-party services SDK already implemented for you for both iOS and Android.

Is it possible to build Adobe AIR native extension with .NET C#?

As the question implies, is there any tutorial or article about using .NET C# to build a native extension for Adobe AIR ?
Is it a must to use C ?
You're limited to using C for iOS ANEs or Java for Android ANEs as the Flash Runtime Environment provides an SDK only for those languages. You can, in practice, write your native extension in any language that can properly interface with the SDK language (e.g. Objective-C or C++ on the iPhone, for example).

Android code using Titanium

How can I access the Android Java code, created by the Titanium as a result of the Titanium development?
You don't have such a possibility since all the javascript code in Titanium is interpreted by a JavaScript engine internally and .class files are generated.
Follow this link for further explanation.
If you are referring to the interpretation of your javascript code, then you can't. Everything is turned into symbols for Titanium to interpret, but you can find this at your /build folder
Titanium use javascript code, Modules let you write code in a platform's native language (Java for Android), Titanium can use java native code in module and java code run in v8 。