Hello,
With the recent introduction of the Intel® Integrated Native Developer Experience 2015 toolkit (Intel® INDE), I've received a number of questions from customers, including this one: "What does it mean for Intel INDE to be a cross-platform toolkit?"
Before answering this, let me provide some background on the topic. When Intel asked customers what they wanted in a cross-platform toolkit, we heard a few requirements: (1) the toolkit needs to support both Windows* and Android* target systems, (2) the toolkit must integrate into my preferred IDE (Visual Studio*, Eclipse*, or Android Studio*), (3) the toolkit needs to expose the underlying architecture and performance of the target platforms, and (4) the toolkit must minimize my development effort on multiple platforms.
Basically there are two different approaches to developing cross-platform toolkits: "tops-down" and "bottoms-up". The tops-down approach (also known as "write once, run anywhere") allows you to code once to a common interface, and the toolkit generates binary code for different platforms. The bottoms-up approach includes a set of common libraries and tools for each platform, thus allowing significant code reuse on multiple platforms.
The advantage of tops-down is the appeal of "write once, run anywhere", but the disadvantages of performance overhead, a steep learning curve, and having to fine-tune the GUI for each platform (due to different user interface guidelines on each platform) make this approach less than optimal for most developers.
That's why Intel INDE chose a bottoms-up approach, as it meets the development requirements I outlined above:
- First, Intel INDE enables creation of Windows* applications on Intel® Architecture and Android* applications on ARM and Intel® Architecture. You can also use either Windows* or OS X* as your host/development system.
- Next, you've got your choice of common Android* IDE's, rather than being forced to use a special development environment that doesn't match your existing workflow. So if you've been using Visual Studio* for developing Windows* apps, you can leverage that expertise when developing for Android*. If you only develop for Android*, Eclipse* might make sense for you, or if you prefer to be on the cutting edge of new technology you may want to try the Beta version of Android Studio*.
- Combining the third and fourth items, Intel INDE includes a number of highly-optimized, cross-platform libraries that provide two main advantages: they are optimized for the specific performance and power characteristics of each Intel Architecture platform, and the API's provide many common functions that maximize code reuse across platforms.
- And I'll add a another advantage, which is the build, debug, and analysis tools can quickly make a good app into a great app. Look no further than the Intel® C++ Compiler, the Android* debugger extension (Intel® INDE vs-android Plug-in for Visual Studio*), and the analysis tools including Graphics Frame Debugger, System Analyzer, Graphics Frame Analyzer, and Platform Analyzer.
For example, let's look at one of the Intel INDE cross-platform libraries: Intel® Integrated Performance Primitives (Intel® IPP). Intel IPP offers thousands of optimized functions covering frequently used fundamental algorithms including those for creating digital media or scientific / technical applications (such as FFT or image processing). These functions are highly optimized for Intel Architecture platforms, and use Intel® Streaming SIMD Extensions (Intel® SSE) and Intel® Advanced Vector Extensions (Intel® AVX) instruction sets when available. So code once to the Intel IPP API, and enjoy optimized native performance on all your target platforms.
In summary, I've highlighted the cross-platform characteristics of Intel INDE, and showed how the features of the product meet the requirements of typical cross-platform developers. If I could leave you with one key message it would be this: Intel INDE lets you focus on doing what you do best, which is designing and developing high-performance apps that will delight your customers. And you haven't had to spend weeks learning how to optimize for the specific performance and power characteristics of each target platform.
For more information about the Intel INDE product, including detailed information on the different product editions, see the Intel INDE Home Page.
* Other names and brands may be claimed as the property of others.
For more complete information about compiler optimizations, see our Optimization Notice.
图标图像:
