has BREW MP JVM? - brew-framework

If BREW MP has JVM ( java - car ) , If it supports all Java ( J2ME Applications),
There is no need to develop applications through BREW , TBT etc....is it true?

In slide 10 of this "BrewMP Overview" Uplinq 2010 presentation, you can see that there are several frameworks available with BrewMP, including Java.
The biggest benefit of Java is its wide-ranging compatibility, but to actually achieve this compatibility also restricts you to the most common denominator of features across the platforms, as well as the "Java sandbox" that gives you very limited access to the phone. For many applications this is a good tradeoff to make and that's why Java apps are widely found.
BrewMP apps, with correct permissions, can interact with most components of the phone - connectivity, hardware sensors, contact / messaging databases, etc. which allows you to have very deep integration with the device. When a developer wants the experience to be seamless, it usually means choosing a particular platform that is used on the device, and working with it.

HTC Smart and HTC Freestyle are already equipped with Java VM (J2ME) while shipping.
HTC Freestyle:
http://www.mobileheart.com/cell-phone-reviews/htc-25/htc-Freestyle-2578.aspx

Related

What are the various options to distribute a Windows 10 (Metro) application?

What are the various options to distribute a Windows 10 application? The application will be built using the Metro UI. Are there advantages or restrictions involved with the various options? I'm new to Windows development and haven't been able to find a definitive answer to this question.
Our application may end up being a Universal Windows Platform application. Does that decision imply things with regard to distribution?
I've read some things that imply distribution through the Windows Store means you are limited to a smaller set of APIs.
Our client has Microsoft SCCM set up. How is SCCM different from the Windows Store?
In order to run Windows apps you only have the option of publishing them on the Store or enable developer mode on all machines you install it on and sideload the app.
The usable API and its limitations are in both cases the same.
See also: Sideload your app package

How is an 'App' different from any regular (native?) application?

Is "app" just a term that refers to a family of tiny, light-weight mobile-device-centric applications -- a trend that started with the Apple i-generation of devices and later found its way to Android and Windows 8?
If the same program were available both as an app and as an application for the same platform, what difference does it make to the system running it? For instance, Angry Birds for Windows is available as :
Angry Birds app for Windows 8/RT and Angry Birds app for Windows 7 (runs on Pokki)
versus
Angry Birds for PC
From a developer's perspective, are the above two just the same code compiled differently to produce binaries suitable to the target?
Also, now that platforms like Mac(iOS/OSX) and Windows 8 are common to mobile computers as well as desktops, is the line distinguising apps from native applications being blurred?
UPDATE:
I'm not questioning the choice of the word usage as in Appropriate use of “app” vs “application”. This question has more to do with how apps differ from native applications in terms of memory footprint, resource utilization, dependence of execution subject to presence of runtime environments on the client machine etc.
UPDATE 2:
Microsoft is encouraging Windows developers to build apps for Windows 8. Apart from additionally having to adhere to Windows Store app guidelines, how is what they build different from what they've been building all along?
App is just short for application. On some platforms the abbreviated name seems to have stuck... There is no technical meaning other than "application for this platform".
On windows 8 the new style programs are built differently from "desktop" applications. (They really have to sort out the names, metro apps at least gave you a name for it...). It's not just the same program rebuild for a different platform as the methods of interfacing with the system is a bit different. There is a new runtime library and a much more restricted runtime environment.
Windows 8 is different than Windows 7 and previous OSs because it has some additional features that developers can use to make their apps more alluring for the users, features like:
1. charms - settings, search, share
2. snap view
3. concept of store apps
4. new design language for store apps
5. Live tiles etc.
Windows 8.1 is different than Windows 8 because it essentially provides an update to the W8 features, for example:
1. roaming settings
2. Hero search
3. snap view - split the screen into any size
4. concept of universal app development
Windows 10 is different than windows 8.1 in a more stronger sense so to speak because a lot has changed, such as:
1. Concept of app targeting to single UAP
2. new XAML controls
3. cortana
4. action center
5. inking
Hope this helps.

UI frameworks for Windows Embedded Compact 7

We are looking to migrate our automotive diagnostic application from the PC to a Windows Embedded platform. We have an enormous application logic code base which we will migrate to the .net Compact Framework but we are struggling to decide on the UI framework. At the moment we have three options:
1) Silverlight
2) QT
3) Crank
I have a little experience in WPF so I'm naturally drawn to Silverlight but I have zero experience of the others. Have any of you used them on this platform? Can you give me some pros/cons and maybe some potential gotchas?
Cheers,
Chris.
If you are not tied to .NET and want to have a deployment choice between Windows, Windows Embedded, WinCE, Linux x86/x64 or ARM Embedded Linux you can take a look at:
fpGUI
CodeTyphon
CodeTyphon even includes complete cross platform SCADA package for visualization and communication with many protocols (MODBUS, Siemens, Allen Bradley and other PLCs).

Porting x86/64 Windows programs to Windows 8 ARM

This article (from the Windows engineering team) says:
WOA [Windows On ARM] will not support any type of virtualization or emulation approach,
and will not enable existing x86/64 applications to be ported or run.
Does that mean I won't even be able to recompile an x86/64 application from source for ARM?
If yes, what exactly prevents me from doing that? My understanding is that the Win32 API is present on Windows 8 ARM.
If no, what do they mean by not being able to port x86/64 applications to ARM?
From the Windows article you link to, the second quoted paragraph is the killer. Porting existing apps is definitely NOT supported.
Developers wishing to target WOA do so by writing applications for the WinRT (Windows APIs for building Metro style apps) using the new Visual Studio 11 tools in a variety of languages, including C#/VB/XAML and Jscript/ HTML5. Native code targeting WinRT is also supported using C and C++, which can be targeted across architectures and distributed through the Windows Store. WOA does not support running, emulating, or porting existing x86/64 desktop apps. Code that uses only system or OS services from WinRT can be used within an app and distributed through the Windows Store for both WOA and x86/64. Consumers obtain all software, including device drivers, through the Windows Store and Microsoft Update or Windows Update.
If we enabled the broad porting of existing code we would fail to deliver on our commitment to longer battery life, predictable performance, and especially a reliable experience over time. The conventions used by today’s Windows apps do not necessarily provide this, whether it is background processes, polling loops, timers, system hooks, startup programs, registry changes, kernel mode code, admin rights, unsigned drivers, add-ins, or a host of other common techniques. By avoiding these constructs, WOA can deliver on a new level of customer satisfaction: your WOA PC will continue to perform well over time as apps are isolated from the system and each other, and you will remain in control of what additional software is running on your behalf, all while letting the capabilities of diverse hardware shine through.
Only a subset of Win32 is supported on Win8 for ARM:
http://msdn.microsoft.com/en-us/library/windows/apps/br205757.aspx
If you try to build an application that uses a Win32 API that's not supported, it won't build because the API won't be in the library. If you try to create your own library to support the APIs, the application still won't be usable because the only way to deploy apps to customers will be through the MS app store, which will no doubt check for API conformance.
From The "Building Windows for the ARM processor architecture" article:
Consumers obtain all software, including device drivers, through the Windows Store and Microsoft Update or Windows Update.
It might be possible to do so on your development machine (but maybe not - I'm really not sure if such a 'hack' will be possible, supported or not), but you certainly won't be able to deploy it in any kind of widespread fashion.
In short, any existing Win32 application will likely need significant work to be ported to Win8 for ARM. It won't be a matter of recompile and fix any errors that pop out to get the application to run on ARM.
They do provide this caveat a little further in your cited article:
Additionally, developers with existing code, whether in C, C++, C#, Visual Basic, or JavaScript, are free to incorporate that code into their apps, so long as it targets the WinRT API set for Windows services.
They've got version of Office and IE available; I'm positive those weren't ground-up reimplementations.

What are the options available for cross platform rich user interfaces development?

Some of the requirements (restrictions) for such a ui framework/toolkit are:
No single vendor lock down
Ability for real time data visualization
Good initial widgets
Good dash boarding capabilities
cross platform
Good development/debug environment
No flash
It's a pity you can't/won't use Flash. Else I could really recommend Adobe AIR. It has a good editor (Flex Builder built on Eclipse), a good component framework with many out of the box components, charting components set, ability to communicate with many different protocols (and you could write your own protocol implementation), cross platform, runs in the AIR runtime and not in the browser, file IO, ...
I wouldn't pass over Flex/Air (Flash) without a closer consideration but here are a few others I have come across:
wxWidgets
GTK+
Qt
There is also a slashdot post with links to some tookits I haven't heard of. I'll add their recommendations here:
GLUI, an OpenGL-based GUI
Whisper, a Mac/Windows application framework
WxWindows, a framework which supports Windows 3.1/95/98/NT, and Unix with GTK/Motif/Lesstif, and MacOS
YAAF, Yet Another Application Framework, offering suport for Macintosh OS, Windows 95 and Windows NT, and X Windows
CPLAT, a framework for developing MacOS and Windows (Linux soon) applications
Ardi's Carbonless Copies technology, which is a portable rewrite of much of the MacOS API
For general information:
GUI Toolkit/Framework Page
PIGUI FAQ Page
C++ User's Journal PIGUI Page
I might suggest Mozilla XUL, but it has some drawbacks:
No really good development / debug environment (although there are tools and debuggers; they are variable)
You are locked into a vendor, but it is Mozilla.
It is very easy to use though and allows you to reuse your web Javascript skills for a rich-client app.
There's also Java of course. It satifies all your requirements AFAICS.
Plenty of custom charting controls, which are things you will struggle to find for GTK/WxWindows/$other_small_userbase_framework.
If you dont like Swing(its come a long way - Metal is dead, long live SystemDefault L&F!), there are options like SWT or even QT bindings for java(QTJambi).
For C or C++ go QT, its APIs are really nice.
For RCAs check out Eclipse RCP. For RIAs, you might be interested in OpenLaszlo. It's a rich internet platform that can compile both to Flash and DHTML.
http://www.gnustep.org/
"GNUstep is a cross-platform, object-oriented framework for desktop application development. Based on the OpenStep specification originally created by NeXT (now Apple), GNUstep enables developers to rapidly build sophisticated software by employing a large library of reusable software components."
Portable to: Windows, BSD-based systems, Linux-based systems, HP/UX, , Solaris, Sparc, GNUstep Solaris 10 U2 vmware appliance, OpenSolaris, others.
I recently made a pretty complete list here: http://commadot.com/ria-frameworks/
ExtJS is probably my favorite and we use that at work. I think it satisfies your list. Otherwise, there are a bunch of other possibilities on that page.

Resources