Software Archive
Read-only legacy content
17061 Discussions

Alternative to Intel XDK once it's cloud build system is deprecated!

Rodrigo_M_1
New Contributor II
1,697 Views

Hi everyone, may almos of you are concern about the Intel XDK cloud building system is deprecated and going to be retired right ?

Intel serve me for almost two years, and it was awesome the easy and simple way to create your hybrid app for any platform ! I really thanks to the Intel team that make this awesome platform that allowed us to get started with mobile development in a simple easy way !

As Intel team are recomend us to use the phonegap build system or cordova CLI, I come here to say that if you are not familiar with those platforms to build by command lines etc... that's an alternative way but you may need to "recreate" your whole project with another tool that some call it as "rapid prototype development"...

I see that tool easy to create the apps screen, it's "multi-platform" like intel and it's use the phonegap servers to build the app for you !

The development app is totally free for non-profit individual use and I was using it in parallel when I saw that Intel as going to be retired!

The app is know as CrossUI Rad Studio and this is the website: http://www.crossui.com/

Hope this can help, and give some confort to those has desperated with the Intel retirement!

0 Kudos
15 Replies
PaulF_IntelCorp
Employee
1,697 Views

Thank you for that pointer, Rodrigo.

0 Kudos
Surya_K_1
Beginner
1,697 Views

Thnak you Rodrigo M do you have any other suggestions that was close to intel xdk .. I really liked its development. I was an IoT developer. Intel xdk said it was retired to enhance IoT . I am pretty sure that it has dug it own grave and any new IDE with same features gonna raise soon. I was thinking of developing one myself as open source to other IoT developers. Any supporters can contact me . 

0 Kudos
Rodrigo_M_1
New Contributor II
1,697 Views

You're welcome Paul F. (Intel)

 Surya K , I know that out there have alot of options, I can't tell you which one is close to the intel, maybe the phonegap / cordova (I never used it, except only for build my apps now..).

 

0 Kudos
Joseph_G_2
Beginner
1,697 Views

Developed since 2014, sad this almost perfect service is going away.

Before using Intel XDK, I used https://cocoon.io/

Went back and see they have improved. Although not fully a replacement, almost as good and in some ways better.

Take a look at https://cocoon.io/ the best build service I have found.

Other using the Cordova services of course can be found here. https://cordova.apache.org/

0 Kudos
kristina_k_
Beginner
1,697 Views

Hi Rodrigo and all the other´s here ..missing this ( for me) essential UI / app designer feature.

I understand INTEL to push IoT...IoT is coming ...BUT in combination with tons of APP´s!!... Yesterday Night I got this shock..when i updated XDK  after some longer time..

Why i AGAIN step into the APP development NOW??

My company ( huge and big in Germany ..and MAGENTA ;-) )  is currently massive pushing IoT as well..we have tons of projects in the pipeline ..and for ME the prototyping with XDK...fast GUI...multi-Platform..etc was a dream..and now with IoT support would be MEGA...mmh would :-(

Intel have to bear in mind that the decision for IoT devices will be hard WIRED to the development framework "around"...."Binding the customer via the Dev-Platform is from my perspective a very good argument for business-case discussion...ok INTEL might see this the different way

NOW we will look for an alternative DEV platform - concerning IoT devices as well

regards

Christine

0 Kudos
Thepjday_A_
Beginner
1,697 Views

Paul F.

When I build a windows 10 cordova application in XDK - is it signed with my Windows Certificate or with the test certificate or is it the unsigned app?

I'm trying to figure out what version to upload to the Microsoft store when using the Cordova CLI.

I know the XDK version was one I could upload previously. But once the XDK build platform is gone, I need a way to do the same.

I've figured out how to sign the application on the command line. I have figured out how to build the application in each environment. Code signing is the only part that is getting difficult.

Thanks.

0 Kudos
PaulF_IntelCorp
Employee
1,697 Views

Thepjday A. wrote:

Paul F.

When I build a windows 10 cordova application in XDK - is it signed with my Windows Certificate or with the test certificate or is it the unsigned app?

When you build a Windows app with the XDK build system it always returns a signed app based on the "Windows Publisher ID" and the "Publisher Display Name" that you provided in the Windows Build Settings section of the Projects tab. In the past, the certificate included in the downloaded package was stripped and resigned when you submitted to the store. I do not know if that is still the case, today, since the Windows store and app submission process continues to evolve.

Thepjday A. wrote:

I've figured out how to sign the application on the command line. I have figured out how to build the application in each environment. Code signing is the only part that is getting difficult.

Here are some of the resources I would check, in case you haven't already found these:

I'm not intimately familiar with the entire process, hoping to have a conversation later today with the engineer who understands this process better than I. Since you are using CLI, I would search StackOverflow for solutions; for example, start with this Google search.

0 Kudos
PaulF_IntelCorp
Employee
1,697 Views

After a discussion with the engineer who knows the details, here's the magic sauce being used on our build system. The attached template file named Package.StoreAssociation.xml is filled in with the appropriate details (later, below) and placed into the <project-root>/platforms/windows/ folder in your project, before doing the build in Cordova CLI. In other words, once that file has been modified to match the data provided in your Windows Build Settings (on the Project tab), it ends up here in the Cordova project:

<cli-project-root>/platforms/windows/Package.StoreAssociation.xml

If you look inside the template I've attached, you'll find some fields that need to be filled in to match your project:

$PublisherId$ === "CN=windows-publisher-id" <-- where windows-publisher-id is GUID from user account
$DisplayName$ === "windows-publisher-display-name" <-- also from user account
$PackageName$ === "id" attribute in <widget> tag
$AppName$ === "<name>" tag contents

For example, if we used this intelxdk.config.windows.xml file as an example:

<?xml version='1.0' encoding='UTF-8'?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:intelxdk="http://xdk.intel.com/ns/v1" id="xdk.intel.third.party" version="0.0.0.1">
<!--This file is generated by the Intel XDK. Do not edit this file as your edits will be lost.           -->
<!--To change the contents of this file, see the documentation on the intelxdk.config.additions.xml file.-->
<intelxdk:version value="1.1"/>
<intelxdk:cordova-cli version="6.2.0"/>
<name>third-Party Plugin</name>
<description>Simple third-party plugin example.</description>
<author>Intel Corporation</author>
<content src="index.html"/>
<access origin="*"/>
<intelxdk:plugin intelxdk:name="Device" intelxdk:value="cordova-plugin-device" intelxdk:version="1.1.2" intelxdk:checksum="2373ccea" intelxdk:type="file"/>
<intelxdk:plugin intelxdk:name="Splashscreen" intelxdk:value="cordova-plugin-splashscreen" intelxdk:version="3.2.2" intelxdk:checksum="47137083" intelxdk:type="file"/>
<intelxdk:plugin intelxdk:name="Screen Orientation" intelxdk:value="cordova-plugin-screen-orientation" intelxdk:version="1.4.2" intelxdk:checksum="1834c9de" intelxdk:type="file"/>
<intelxdk:plugin intelxdk:name="Notification" intelxdk:value="cordova-plugin-dialogs" intelxdk:version="1.2.1" intelxdk:checksum="2948bc11" intelxdk:type="file"/>
<intelxdk:plugin intelxdk:name="BarcodeScanner" intelxdk:value="phonegap-plugin-barcodescanner" intelxdk:version="4.1.0" intelxdk:checksum="980170d7" intelxdk:type="file"/>
<intelxdk:plugin intelxdk:name="Battery" intelxdk:value="cordova-plugin-battery-status" intelxdk:version="1.1.2" intelxdk:checksum="c49e8316" intelxdk:type="file"/>
<preference name="windows-publisher-display-name" value="intel"/>
<preference name="windows-publisher-id" value="170C8BE9-1234-5678-ABCD-2C13A73E9597"/>
<preference name="windows-target-version" value="10.0"/>
<preference name="windows-phone-target-version" value="10.0"/>
<!--creationInfo:{"src":"https://appcenter.html5tools-software.intel.com/api/v2.0/redirect/projectrenderers/release-2015-ww32/jsapp/templates-blank-cordova-project/sample.zip","projectTypeName":"com.intel.xdk.projecttype.jsapp"}-->
<preference name="debuggable" value="true"/></widget>

It would result in the following substitutions:

$PublisherId$ === "CN=170C8BE9-1234-5678-ABCD-2C13A73E9597"
$DisplayName$ === "intel"
$PackageName$ === "xdk.intel.third.party"
$AppName$ === "third-Party Plugin"

I believe the quotes should not be included in the final Package.StoreAssociation.xml file that you create, just the information between the quotes.

Here's one place that documents this file > https://github.com/rakatyal/cordova-docs-1/tree/master/tutorial-package-publish < but the current documentation from which that was derived > https://github.com/Microsoft/cordova-docs/blob/master/articles/tutorial-package-publish/tutorial-package-publish-readme.md < no longer makes mention of this file. There are other sites that also mention this file, but they are also old.

IMPORTANT! The Intel XDK Windows build system is using Visual Studio 2013 to build Win10 packages, so this file may no longer work with the VS2015 and later toolchain!

Also, see the reference to the StoreManifest.xml file at the bottom of this doc page > https://docs.microsoft.com/en-us/windows/uwp/publish/app-package-requirements < which may be an equivalent replacement for the file we are using.

I am told that as long as you include this information you do not need to sign the app, that is only required if you want to distribute your app outside of the store. The store is going to re-sign your app.

Also, when our build system performs the "cordova build windows" command (which our build server actually decomposes into "cordova prepare" and "cordova compile windows"), it also includes the following option on the command line: --publisherId={id} where {id} is the same as the $PublisherId$ field shown above. For example, the actual build command becomes:

cordova prepare
cordova compile windows --verbose --release --nohooks --archs x86 --verbose --publisherId=CN=170C8BE9-1234-5678-ABCD-2C13A73E9597 --appx=uap --bundle

NOTE: you probably do not want to use the --nohooks option.

0 Kudos
Thepjday_A_
Beginner
1,697 Views

@Paul

 

Awesome. I will bundle this into my build process.

 

One last question. How does the intel system get around having to have each environment running a different OS? I find that to build Windows, I have to be on Windows. And to build iOS, I have to be on OSX. Android, I can pretty much build anywhere.

 

How do I get around the "multiple environments" issue? Is there a cordova plugin that Intel uses to get around this limitation?

 

Thanks.

0 Kudos
Thepjday_A_
Beginner
1,697 Views

@Paul

 

For the record, I have not found an equivalent open source/commercial offering that works like the Intel XDK. :( Even Adobe PhoneGap is incredibly priced - $999/mo.

 

Although I'm open to suggestions, I've resigned myself to replicating the CLI environment.

0 Kudos
PaulF_IntelCorp
Employee
1,697 Views

Thepjday A. wrote:

One last question. How does the intel system get around having to have each environment running a different OS? I find that to build Windows, I have to be on Windows. And to build iOS, I have to be on OSX. Android, I can pretty much build anywhere.

How do I get around the "multiple environments" issue? Is there a cordova plugin that Intel uses to get around this limitation?

We do not get around that issue, there is no way to get around it because the Cordova build process uses those tools to perform the builds (it would require a massive amount of reverse-engineering and continuous maintenance to make it work, otherwise). The XDK build system, like the PhoneGap Build system, maintains multiple environments to perform the builds. iOS builds are done on a bank of Macs managed by a company called "Mac Stadium." Windows builds are done on Windows virtual machines hosted on Amazon. And Android builds are done on Linux virtual machines, also hosted by Amazon.

Thepjday A. wrote:

For the record, I have not found an equivalent open source/commercial offering that works like the Intel XDK. :( Even Adobe PhoneGap is incredibly priced - $999/mo.

You're missing a decimal point for that cost of PhoneGap Build. If you choose the paid version it is $9.99 ($10) per month ($120/year). The "Creative Cloud" option is $30/month which provides access to some other Adobe tools, and more storage. Details are here > https://build.phonegap.com/plans <

Thepjday A. wrote:

Although I'm open to suggestions, I've resigned myself to replicating the CLI environment.

Actually, the Cordova CLI environment is the most flexible, but it also requires more effort, as well as access to a Windows and a Mac machine to perform the respective builds. You can build Android on either one of those, so you don't need to use a Linux machine to perform Android builds, like the XDK build system does. We used Linux for the Android builders because the virtual Linux machines are much cheaper to lease and Android builds represent about 80% of the builds we do every day (and we do very large numbers of builds every day).

p.s. I hope to get some time to replicate the instructions provided for the Windows build, using CLI, to confirm everything is there. Hopefully what I published is complete, but let me know if it does not quite work, it should be possible to do the same with the build.json file described in the Cordova CLI docs. Where I would expect problems or differences is if you are using VS2015 for building, rather than VS2013, like we are using.

0 Kudos
Thepjday_A_
Beginner
1,697 Views

VS2015 is not available. VS2017 is in effect. You have to open the batch file to create the VS environment before you can run Cordova. Also, the installation of MSBUILD is non-obvious in VS2017. It took me 3 tries because it does not match the VS2015 instructions. Some of the command line parameters no longer work as expected we now have to create 3 separate exe files. There may be other things I missed, but thes were the main items.


Also, the version of Cordova to be used has to be specific when using Windows 10. I forget what version I used. I think it might have been 6.2 or something.

0 Kudos
Rodrigo_M_1
New Contributor II
1,697 Views

kristina k., sorry for my late reply!

I understand your point and your situation as well...
I'm a solo dev. at my company, and I was desperated when I heard intel was going to retire the cloud build system...
I started looking for alternatives until I got the solution by purchase a Mac computer and install cordova on it to build my intel generated apps!
But I can tell you a secret! When I started using intel, with the graphical design, that's was awsome, but I had some limitations and was a pain to do some custom "forms" and use some 3rd party libraries...
So I start research a bit, and I found the crossUI tool! What tool allow me to have more "flexibility", and on top of that, for "multiple forms" this tool was excelent, because instead you have a "mess html file" or a separated html with a JS file, you just need a JS file which is a class file !
With crossUI solution, I was able to make the app quickly as Intel, and more flexible ! And on top of that, I just have one html file which is the index.html where I just load the libraries and nothing else!
The app I had to create for my company has alot of screens, and imagine doing a maintenance with a bunch of html plus js files ?
So, at the end, I was able to use the intel interface just to load the plugins, and generate the package for me! That's was the great deal that Intel did with the interface! I can't imagine if Intel could do if they had add like a crossUI interface ! That would kick all multiplatform asses for sure! lol

0 Kudos
kristina_k_
Beginner
1,697 Views

Rodrigo M. wrote:

kristina k., sorry for my late reply!

I understand your point and your situation as well...
I'm a solo dev. at my company, and I was desperated when I heard intel was going to retire the cloud build system...
I started looking for alternatives until I got the solution by purchase a Mac computer and install cordova on it to build my intel generated apps!
But I can tell you a secret! When I started using intel, with the graphical design, that's was awsome, but I had some limitations and was a pain to do some custom "forms" and use some 3rd party libraries...
So I start research a bit, and I found the crossUI tool! What tool allow me to have more "flexibility", and on top of that, for "multiple forms" this tool was excelent, because instead you have a "mess html file" or a separated html with a JS file, you just need a JS file which is a class file !
With crossUI solution, I was able to make the app quickly as Intel, and more flexible ! And on top of that, I just have one html file which is the index.html where I just load the libraries and nothing else!
The app I had to create for my company has alot of screens, and imagine doing a maintenance with a bunch of html plus js files ?
So, at the end, I was able to use the intel interface just to load the plugins, and generate the package for me! That's was the great deal that Intel did with the interface! I can't imagine if Intel could do if they had add like a crossUI interface ! That would kick all multiplatform asses for sure! lol

 

Hi Rodrigio

Thanks for your hint. CrossUI is in the moment no option as we are looking for some OpenSource Tools.
I  develop Proto-Types...also Mobile APPS in combination with IoT..the moment a very "open" way with just a very rough target ;-)

And for that i checked tons of options the last 2 Weeks.

The moment i try myself with EVOTHINGS Studio (visual studio code +vagrant + cygwin  -> APK ..)
and ATOM ( +PlatFormIO + CLANG + Python )..The IoT device is ARDUINO

so far the nice GUI or usability is currently not my main focus...more the communication and integration between the different devices and stuff.

greets
kristina

0 Kudos
Rodrigo_M_1
New Contributor II
1,697 Views

kristina k. wrote:

Quote:

Rodrigo M. wrote:

 

kristina k., sorry for my late reply!

I understand your point and your situation as well...
I'm a solo dev. at my company, and I was desperated when I heard intel was going to retire the cloud build system...
I started looking for alternatives until I got the solution by purchase a Mac computer and install cordova on it to build my intel generated apps!
But I can tell you a secret! When I started using intel, with the graphical design, that's was awsome, but I had some limitations and was a pain to do some custom "forms" and use some 3rd party libraries...
So I start research a bit, and I found the crossUI tool! What tool allow me to have more "flexibility", and on top of that, for "multiple forms" this tool was excelent, because instead you have a "mess html file" or a separated html with a JS file, you just need a JS file which is a class file !
With crossUI solution, I was able to make the app quickly as Intel, and more flexible ! And on top of that, I just have one html file which is the index.html where I just load the libraries and nothing else!
The app I had to create for my company has alot of screens, and imagine doing a maintenance with a bunch of html plus js files ?
So, at the end, I was able to use the intel interface just to load the plugins, and generate the package for me! That's was the great deal that Intel did with the interface! I can't imagine if Intel could do if they had add like a crossUI interface ! That would kick all multiplatform asses for sure! lol

 

 

 

Hi Rodrigio

Thanks for your hint. CrossUI is in the moment no option as we are looking for some OpenSource Tools.
I  develop Proto-Types...also Mobile APPS in combination with IoT..the moment a very "open" way with just a very rough target ;-)

And for that i checked tons of options the last 2 Weeks.

The moment i try myself with EVOTHINGS Studio (visual studio code +vagrant + cygwin  -> APK ..)
and ATOM ( +PlatFormIO + CLANG + Python )..The IoT device is ARDUINO

so far the nice GUI or usability is currently not my main focus...more the communication and integration between the different devices and stuff.

greets
kristina

Hi kristina, that's cool you get started with EVOTHINGS !

I'm also a kind of "hardware engineer" and I have done some projects with Arduino / Raspberry pi platform such as RFID access control, GPS tracker and others based on the IoT... and we're using them in company I'm working for!

Hope you find everything you need to keep going !

My best Regards,

Rodrigo.

0 Kudos
Reply