3D graphics for multiple platforms using Intel XDK - mobile

I am developing an app using Intel XDK and Angularjs. I want the app to be available on as many platforms as possible including Android, iOS, and Windows. I also want interactive 3D graphics in my app. Is it possible to have all of this?
I have looked into the App Gaming Interface (AGI) that comes with Intel XDK but it uses 2D graphics.
I have also looked into Marmalade Web but I did not see any documentation, tutorials, or examples that display interactive 3D graphics.

You might want to investigate the use of some game engines to provide your 3D graphics. You are probably going to need WebGL to get respectable performance and the 3D graphics you need. That means you will be limited to only the newest devices.
On Android you can use the Crosswalk build system and it will include a runtime that includes a very capable WebGL subsystem that will work on Android 4.x (and above) devices. For other systems you must work with the WebView that is provided on the target (the embedded browser cannot be replaced). Thus, you will be restricted to iOS 8 and Windows 8.1 Phone devices.
The App Gaming Interface in the XDK has been officially deprecated and is not being further developed. This is due to the excellent support for canvas and WebGL in Crosswalk for Android and the new support for WebGL and improved JavaScript performance in the new WKWebView that is part of iOS 8.

Related

How can I develop a game engine that supports android

I am thinking about developing a game engine in which I can make games for android and other mobile platforms and I have no clue for it.I just see tutorials for making game engine just for one specific platform and have not found any tutorials for making a game engine for various kinds of platforms!.please give me some clues for it
I recommend you read Game and Graphics Programming for iOS and Android with OpenGL ES 2.0, if you really want to make game engine for Android. His projects sample is too old and written on Eclipse (which is deprecated by Google for Android development), it take me a lot of time to convert his old project to Android Studio. His source code is very small but run smoothly on new devices. His project also include iOS XCode project too, but also some minor modify to migrate older XCode to newer. Two Android and iOS projects sharing ~ 95% C source code (truly cross-platform) and some platform code (Java for Android and Objective-C for iOS but it just only ~ 5%).
I am also recommend you consider use OpenGL ES graphic API for cross-platform game engine instead of using multiple graphic API, because you can use Google ANGLE project to convert OpenGL ES graphic API to native API for other devices like DirectX (Windows PC, Windows Phone), Metal (MacOS, iOS), Vulkan, Desktop OpenGL just one code base. The most successful game engine base on OpenGL ES API is Godot Engine. One of the most the popular project using ANGLE is Google Chrome.
In 2014, Apple announce they deprecated OpenGL ES for their Metal API (but I am tested OpenGL ES project still run on new iOS 13), so only choice if using OpenGL ES is ANGLE. If you want to follow ANGLE Metal you can follow here
Initialize when Microsoft create Windows Runtime (Windows Store, Windows Phone) is just support DirectX, but they also create tutorial for ANGLE to convert OpenGL ES to DirectX, see tutorial here

Can JavaFX applications run on Cell Phones?

I have a Java Swing based video game (though more like Java AWT, since most of it is graphics movement of icons), that I would like to port to a Cell Phone. Android, iOS, or even Windows Phone.
I have read that JavaFX supports this. Though the posts I read were a few years old. Does anyone know status of JavaFX on current versions of Android, iOS, or even Windows Phone?
Thanks!
JavaFX requires a JRE to run on. Neither of those three mobile platforms support this natively. So you will need to return to a framework that allows you to do exactly that.
The most positive lead at the moment seems to be the JavaFXPorts from the Gluon project. However as far as I am aware, this currently only supports iOS and Android.

Does Appcelerator Titanium (desktop) work with Flash/Silverlight?

http://www.appcelerator.com/2009/06/titanium-beta/
In addition to supporting traditional Web technologies such as HTML, CSS and JavaScript, Titanium supports applications developed using Adobe Flash, Microsoft Silverlight, or any third-party AJAX library, on Mac OS, Windows, Linux, Android or iPhone platforms.
While the Appcelerator forums contain several issues concerning Flash, I haven't found anything in the API docs. So,
How would I integrate Flash/Silverlight in my Titanium app?
Any limitations?
Does it use any present browser plug-ins on the user's machine?
Cross-OS compliance? (Silverlight on iPhone!?)
I think this answer will depend on the platform. But I know on the iPad / iPhone you can call up webpages in essentially an embedded browser. You can also show PDFs this way and other things. This uses Safari on the iPhone / iPad. Since it's on the mobile device Flash / Silverlight won't work since it needs plugins.
However, I would think on the desktop where you could install Silverlight and Flash that it's very possible to use the web browser within Titanium to load an HTML file that contains your Flash or Silverlight embed. This would then display it within your application.
I've not done this as I just use Titanium for mobile, but seems like it would work for desktop.

Chat client on Mobile

We have to develop a chat client for mobile. The devices should be for the following:
Android
iPhone
Blackberry
Symbian
Windows mobile
Windows CE
Palm
Which technology we should use for the multiple OS computability. We like the most of code common.
This chat client also support the video and audio chat.
Android and BlackBerry: Java
Symbian and Win Mo: C++
iPhone and Palm: Objective C and C
It is possible from to write the apps so that some common functionality can be reused, but it needs careful design. But you are a bit out of luck on this.
I would recommend starting with Java and Objective C implementations as this will get you Android, BlackBerry and iPhone, which have a lot more traction in market than other platforms.
Look at cross platform frameworks like PhoneGap - that way you can keep the UI and as much code as you care to port to JavaScript common, then do the remaining in native code.
Currently React Native framework gains popularity as a solution for implementing JavaScript based apps for Android and iOS platforms. Here is a guide for React Native.
JavaScript SDK can be also used for preparing desktop app for Windows via Electron for example.
Since you need to cover a lot of platforms, you might need also a backend solution providing an API option to cover all your needs.
Try ConnectyCube. It has React Native support in its JS SDK and provides API to cover the rest of cases. So, it's flexible enough and you can use it for developing apps for all your platforms.

Multi platform mobile application

I am willing to develop a mobile application. I wish to have something working for android, windows mobile, symbian and blackberry.
Which is the best way to do that?
I had read here:
You could aim to wrap the sections of
the platform specific APIs (iPhone SDK
etc.) that you use with your own
interfaces. In doing so you are
effectively hiding the platform
specific libraries and making your
design and code easier to manage when
dealing with differences in the
platforms.
I was hoping there exists a framework that does this for me, but it doesn't exist or I didn't find any.
I feel that sort of things will make my code harder to maintain and perhaps it's better to have one version for each platform.
Anyone with experience in the field?
Another links of interest:
most-promising-mobile-platforms
long-term-potential-of-iphone-windows-mobile-development-platforms
Does Java not count (in various guises)
Java on Symbian
Java for Windows Mobile
Java on Blackberry
Android Java Virtual Machine
It should be simpler to manage API differences in a consistent language/runtime platform where capabilities can be assessed in-code ... and configurations of code made at build-time.
As much as I dislike Java, it is fairly ubiquitous. As for the iPhone ... apart from it being much hyped and locked down ... you can get Java to run on jail-broken phones ...
What happened to Apple's open and friendly appearance? The cynic-inside knows the answer ;)
You might want to look into PhoneGap (http://phonegap.com/). From their own description page:
PhoneGap is an open source development tool for building fast, easy mobile apps with JavaScript.
If you’re a web developer who wants to build mobile applications in HTML and JavaScript while still taking advantage of the core features in the iPhone, Android and Blackberry SDKs, PhoneGap is for you.
In addition to using JavaScript, it supports JavaScript acccess to native controls and features of the phones (GPS, accelerometers etc...).
There really isn't any magic bullet that I'm aware of. Even within just the Blackberry platform, there are tons of different devices with different capabilities, screen resolutions, etc. And that's just from one, single manufacturer; Symbian and Windows Mobile are likely even worse.
The answer is likely that you should focus on relatively new and consistent platforms (accordingly with very few and all pretty much similar devices), like Android and iPhone OS, if you really want to reduce your code forking and maximize your audience.
My advice will almost certainly change within a few years when there are nine different iPhone OS devices and two dozen Android platforms.
The first question to ask yourself is if you need a native application, if you do not then designing a mobile web site solution should give you the most cross compatibility, failing that I would make a iPhone and J2ME solution (the J2ME can then be ported for Android relatively easily) for the greatest coverage of users
Or investigate Movilizer. Supports iOS, Android, WinPhone, WinMobile, Desktop PCs, embedded devices, ... and many more. It uses a design once run anywhere approach.
http://www.movilizer.com
try out different cross platform dev tools,
Developing cross platform mobile application

Resources