Tool to convert JAVA to WinMo - Upgrading, Modifying and Unlocking

Check this out :
Tool converts Java to Windows Mobile native code
Sep. 09, 2008
Innaworks announced a tool it claims can "instantly" convert a Java Micro Edition (Java ME) application to Windows Mobile native code. Targeting mobile game publishers, content providers, and enterprise developers with existing Java skills, "AlcheMo for Windows Mobile" supports Windows Mobile 6.x and 5.0 Professional and Standard editions, says Innaworks.
Innaworks says AlcheMo for Windows Mobile includes a "patent-pending optimizing translator" that accepts standard, unmodified Java ME code, and turns it into C++ source code within seconds. The resulting code is ready to be compiled using a supplied run-time library along with Microsoft's Visual Studio, and requires no post-translation changes whatsoever, the company adds.
AlcheMo is said to convert Java ME applications that utilize an "extensive subset" of Java ME CLDC (connected limited device configuration) 1.1 and MIDP (mobile device information profile) 2.0, including touchscreen support. The "blazingly fast" translator has the following touted features, according to Innaworks:
An "optimized graphics implementation" delivers frame rates suitable for games and UI-intensive programs
"State-of-the-art whole program optimizations" provide compact and fast applications
Both Windows Mobile Professional and Windows Mobile Standard are supported with a single SKU
Generated C++ source code has the exact semantics of the original Java program, faithfully supporting J2ME language features such as try-catch-finally, interfaces, inner classes, and class initializers
An "advanced garbage collector" eliminates the need for manual memory management
Innaworks says games converted to native Windows Mobile code by AlcheMo run more smoothly than those running in a Java or .NET Compact Framework (.NET CF) virtual machine. In addition, the company claims, native-code applications are protected from reverse engineering, unlike their .NET CF counterparts, which "can readily be decompiled with off-the-shelf tools."
Innaworks also states that "due to the nature of Just-In-Time (JIT) compilation technology, .NET CF applications typically have a long start up time and display a pattern of JIT compilation pauses when running new code paths." In contrast, AlcheMo-generated Windows Mobile native applications start up more quickly and run more smoothly, according to the vendor.
Multiple platforms
Far from discouraging the continued use of Java ME, Innaworks touts the language's existing game engines, libraries, frameworks and "powerful open-source components." Java eliminates errors common in C/C++ and Objective-C, and allows developing applications for multiple devices from a single code base, the company says.
The newly announced version of AlcheMo for Windows Mobile joins existing versions that support Qualcomm's BREW (binary runtime environment for wireless) and Apple's iPhone, according to Innaworks. "The single code base advantage enables AlcheMo customers to outmaneuver their competitors through rapid and simultaneous product feature rollouts across J2ME, BREW, iPhone and Windows Mobile," the company says.
John O'Rourke, a Microsoft general manager responsible for Windows Mobile marketing, said, "AlcheMo for Windows Mobile helps developers leverage existing investments and produce quality native Windows Mobile applications in a highly compressed timeframe. Java developers can take advantage of the huge market opportunity created by Microsoft's smartphone innovation and leadership."
Further information
Innaworks did not release pricing for AlcheMo for Windows Mobile, but said the product is "immediately available for licensing." It will be demonstrated during this week's CTIA Wireless I.T. & Entertainment show, starting tomorrow in San Francisco. Innaworks says it will be located at Booth 324 in the West Hall of Moscone Center.

mdeva said:
Check this out :
Tool converts Java to Windows Mobile native code
Sep. 09, 2008
Innaworks announced a tool it claims can "instantly" convert a Java Micro Edition (Java ME) application to Windows Mobile native code. Targeting mobile game publishers, content providers, and enterprise developers with existing Java skills, "AlcheMo for Windows Mobile" supports Windows Mobile 6.x and 5.0 Professional and Standard editions, says Innaworks.
Innaworks says AlcheMo for Windows Mobile includes a "patent-pending optimizing translator" that accepts standard, unmodified Java ME code, and turns it into C++ source code within seconds. The resulting code is ready to be compiled using a supplied run-time library along with Microsoft's Visual Studio, and requires no post-translation changes whatsoever, the company adds.
AlcheMo is said to convert Java ME applications that utilize an "extensive subset" of Java ME CLDC (connected limited device configuration) 1.1 and MIDP (mobile device information profile) 2.0, including touchscreen support. The "blazingly fast" translator has the following touted features, according to Innaworks:
An "optimized graphics implementation" delivers frame rates suitable for games and UI-intensive programs
"State-of-the-art whole program optimizations" provide compact and fast applications
Both Windows Mobile Professional and Windows Mobile Standard are supported with a single SKU
Generated C++ source code has the exact semantics of the original Java program, faithfully supporting J2ME language features such as try-catch-finally, interfaces, inner classes, and class initializers
An "advanced garbage collector" eliminates the need for manual memory management
Innaworks says games converted to native Windows Mobile code by AlcheMo run more smoothly than those running in a Java or .NET Compact Framework (.NET CF) virtual machine. In addition, the company claims, native-code applications are protected from reverse engineering, unlike their .NET CF counterparts, which "can readily be decompiled with off-the-shelf tools."
Innaworks also states that "due to the nature of Just-In-Time (JIT) compilation technology, .NET CF applications typically have a long start up time and display a pattern of JIT compilation pauses when running new code paths." In contrast, AlcheMo-generated Windows Mobile native applications start up more quickly and run more smoothly, according to the vendor.
Multiple platforms
Far from discouraging the continued use of Java ME, Innaworks touts the language's existing game engines, libraries, frameworks and "powerful open-source components." Java eliminates errors common in C/C++ and Objective-C, and allows developing applications for multiple devices from a single code base, the company says.
The newly announced version of AlcheMo for Windows Mobile joins existing versions that support Qualcomm's BREW (binary runtime environment for wireless) and Apple's iPhone, according to Innaworks. "The single code base advantage enables AlcheMo customers to outmaneuver their competitors through rapid and simultaneous product feature rollouts across J2ME, BREW, iPhone and Windows Mobile," the company says.
John O'Rourke, a Microsoft general manager responsible for Windows Mobile marketing, said, "AlcheMo for Windows Mobile helps developers leverage existing investments and produce quality native Windows Mobile applications in a highly compressed timeframe. Java developers can take advantage of the huge market opportunity created by Microsoft's smartphone innovation and leadership."
Further information
Innaworks did not release pricing for AlcheMo for Windows Mobile, but said the product is "immediately available for licensing." It will be demonstrated during this week's CTIA Wireless I.T. & Entertainment show, starting tomorrow in San Francisco. Innaworks says it will be located at Booth 324 in the West Hall of Moscone Center.
Click to expand...
Click to collapse
Thanks, I drop them a mail to ask whether I can give their implementation a test drive on both WM and iPhone. I'll keep you posted.

Very interesting app. But I can't find a way to download a demo in their site. Anybody tested it? How is it?

Related

Programming ... Whats Best???

Hi!
I'm a Programmer for Visial Basic and Delphi...
I'm not sure whitch system is the best 4 programming the XDA?
AppForge or what?
Thanx
Stevie
Each have their advantages. I would go with Embedded C++ every time, but then, I'm that kind of guy. I like lean code.
On the other hand... If you don't want to learn C++, give Embedded VB a try.
Programming
Hi!
Thanx, but U mean Visual C++ 6.0 ??? Is there anything other what I need with C++ like Appforge 4 VB? Or do I need nothing more?
Stevie
No.. I mean Embedded C++. It is available for free from microsoft
http://msdn.microsoft.com/downloads...=/msdn-files/027/001/963/msdncompositedoc.xml
>I'm not sure whitch system is the best 4 programming the XDA?
>AppForge or what?
I guess it depends on your definition of "best".
I do C++, but actually prefer Visual Basic for most
applications due to the development speed for GUI-based
stuff.
I've downloaded eMbedded Visual Basic and eMbedded C++ from
Microsoft. One problem: EVB apparently does *not* yet
support the XDA architecture (StrongARM).
The SmartPhone SDK from MS *does* support StrongARM (not
*specifically the XDA* that I can tell) but only provides the SDK
for eMbedded C++ (not EVB).
I EMAILed the MobileVB folk and they said:
1) They don't support SmartPhones.
2) They don't have any support for SMS handling.
At this point I guess I'll go to EVC++ unless I can find other
tool(sets) to use.
What *I* would like to see is script support ALA PERL or PYTHON.
Is there anyone out there that knows of a beastie like this?
Or, even better (for me) would be LINUX on the XDA (I've
been using Familiar distro on the iPAQ, and it is great .. can
do GPRS/GPS from a LINUX-based platform (C/C++/JAVA/PERL/PYTHON/whatever).
Charlie
You keep mentioning Smartphone here, and the Smartphone SDK. The XDA does not support the Smartphone SDK, as it is not a Smartphone - it runs Pocket PC 2002 Phone Edition - something completely different.
So please, don't spend several hours downloading the Smartphone SDK to find it's not the right one. Download the Pocket PC 2002 SDK. I have developed several apps for the XDA using this already.
What *I* would like to see is script support ALA PERL or PYTHON.
Is there anyone out there that knows of a beastie like this?
Click to expand...
Click to collapse
There is a PocketPC Python, you have to use the win32api to GUI work, and installation can be a little painful depending on what you need. It does run and is stable though. Check out http://www.murkworks.com/Research/Python/PythonCE/PythonCEWiki/FrontPage[/quote]
Hi guys
I downloaded eMbedded Visual Tools 3.0 from Microsoft, but during installation, I was asked for the Product ID #
Any help ? :?:
I'd like to throw in another suggestion: the .Net Compact Framework. If you're a Delphi programmer (as are we - I used to be on TeamB for Delphi), you'll take to it straight away. After all, .Net and C# was designed by the same Anders Hejlsberg that designed Delphi. C# is very like Object Pascal with a C/Java syntax, but with even more goodies.
We've been using the Compact Framework beta for several months and it is quite simply superb. It was just launched officially on April 26th as part of Visual Studio.Net 2003. However, you don't need to buy Visual Studio - just download the .Net 1.1 SDK from Microsoft - it's free.
It's just a subset of the full .Net Framework, but if you need to do something that's not supported directly in the Framework classes, you can easily call API functions - or even write some code in embedded VC++ and call that. The managed environment is just great.
MikeS.
When prompted for the CD Key, please enter TRT7H-KD36T-FRH8D-6QH8P-VFJHQ
Khang Le
[email protected]
Khang Le, thanks

How to start programming apps for WM Smartphones

Hi, I'm an experienced developer (C,C++,C#,Delphi,Java) and I did some stuff with XNA Studio with Visual Studio Express 2008.
What exactly do I need to start developing apps/games for windows mobile smartphones?
Sorry I tried the search but I'm not able to find anything useful, maybe I used the wrong keywords.
Decide what to use! For Windows Mobile you can use C/C++, .Net ( "Compact Framework" ), FreePascal (as you mention Delphi - this is my own favorite), I think there is even a VB for WM.
For C/C++ you will need to get the Windows Mobile SDK, this is available from Microsoft. API is very much like "slimmed down" Win32 API. For .Net, Google "Compact Framework", or ".Net CF SDK" or something similar.
I am not completely sure, but I think you will need commercial version of Visual Studio. As I recall, "express" / free version does not support WinCE / WM compilation (this is probably why you did not find the option to compile for Windows Mobile)
Good luck!
Thanks! I have both Visual Studio 2008 (non express too) and Rad Studio 2009 (delphi 2009) ...
As I want to get into game development, I'd like to have access to the full power of the phone Using Visual Studio with the SDK might be better, because as I've read it comes with a WM6 emulator...
Any ideas on where I can find tutorials, to display graphics on the phone?
I program using VS08 and the SDK with VB. Not doing anything fancy at the moment, but it does come with an emulator. I haven't figured out how to actually deply it on to the device yet tho.
When you deploy or debug the application it should usually give the option to deploy to a device or emulator. The device of course needs to be connected to ActiveSync.
Also theres a port of QT to Windows Mobile, which seems to work but far more tricky to set up and get working that just using .NET CF it seems

Programming software

Hello!
I've never programmed before.
So im thinking of learning c++.
The only problem i got is, how do i get started?
Like, what programs do i need to download?
To build an application for windows mobile 6.5.
I know i need Visual basics c++ of course, but emulators? And what version.
Thanks for all answers
robbi13 said:
Hello!
I've never programmed before.
So im thinking of learning c++.
The only problem i got is, how do i get started?
Like, what programs do i need to download?
To build an application for windows mobile 6.5.
I know i need Visual basics c++ of course, but emulators? And what version.
Thanks for all answers
Click to expand...
Click to collapse
Oh boy.... Just so you know, programming == crack! I hope you know what you are getting into
The first thing that I would say, is learn C# instead of C++. That said, C++ is very powerfull, but there is much more that the programmer has to worry about (ie, pointer and memory leaks) Also, Visual Basic is a programming language similar to C# (and by similar I mean they compile to the same thing. They look nothing alike) Tidbit: BASIC stands for Beginner's All-purpose Symbolic Instruction Code. Cool huh?
I started with C++, then I learned C, then I learned C#. I use C# daily, but my C and C++ knowledge come in handy sometimes. C# is MUCH easier to learn and also is easier to find a job with it on your resume. Finally, jumping to other contemporary languages like Java is a piece of cake as Java is VERY close to C# (Sometimes too close... dang instanceof keyword...)
As for software, you will need Visual Studio. If you want to program for the .net 3.5 Compact Framework, you will need Visual Studio 2008 (not 2010).
If you are a student at a university, checkout dreamspark (www.dreamspark.com) You might be able to get a free version of VS to learn on.
As far as emulators go, you'll need the ones that emulate the devices you want to develop for
Get this one first, then at the bottom there are "related downloads". I would get as many as you can.
http://www.microsoft.com/downloads/...1D-97A8-4F80-BC6A-AE010E085A6E&displaylang=en
If you want to learn how to program, read a book. I would recommend the "Teach yourself" series. If you want to learn how to program well, take a class.
For tutorials, I like the articles on http://www.codeproject.com/
Good luck!
Thanks for all that info!
I'm a boy at a age of 14.
My purpose is to create only small programs. Like web based apps.
And do i need to buy visual basic c#? Or can i use the express version?
robbi13 said:
Thanks for all that info!
I'm a boy at a age of 14.
My purpose is to create only small programs. Like web based apps.
And do i need to buy visual basic c#? Or can i use the express version?
Click to expand...
Click to collapse
Props for starting young! Are looking to develop for Windows Mobile, or desktop? For desktop, you can use the Express Edition. For Windows Mobile, you need Visual Studio 2008 Professional edition.
Looking for windows mobile.
Proffesional costs like alot of money i think.
Is there any other c# editors i can use that are free?
Not planning to use alot of money yet.
Wanna test it for a while and see if its any fun and if my work will be appriciated.
If i come that far
robbi13 said:
Is there any other c# editors i can use that are free?
Click to expand...
Click to collapse
SharpDevelop. It can target Windows Mobile fairly well (http://wiki.sharpdevelop.net/CompactFrameworkDevelopment.ashx)
robbi13 said:
Looking for windows mobile.
Proffesional costs like alot of money i think.
Is there any other c# editors i can use that are free?
Not planning to use alot of money yet.
Wanna test it for a while and see if its any fun and if my work will be appriciated.
If i come that far
Click to expand...
Click to collapse
You can get a 90 day trial of VS 2008 Professional to try it out.
dude. please check out my programming tutorial i made. I think it was fairly easy and I can help you out in c# & vb.net. I too started when I was 14 and I am now fairly good at programming (being 15 now) But the point is....well, there's no point im getting to now but check out c#. Thats the easiest way to go without dipping too low in vb.net. Anyway, here's where I learned a bunch of stuff::
http://homeandlearn.co.uk/NET/vbNet.html
when you finish, you will be a master of vb.net....if you wanna go for c#, make sure you stick to one language and go for:
http://homeandlearn.co.uk/csharp/csharp.html
I would highly recommend not to go with mobile programming til' you get a basic understanding of the desktop programming (as .net CF is very very minimal compared to the full blown .net)...
ALSO as a final note, use Visual studio 2010 Express edition for programming and if you wanna go a step up into mobile programming, get visual studio 2008. 2010 doesn't support device programning.
rkrishnan2012 said:
dude. please check out my programming tutorial i made. I think it was fairly easy and I can help you out in c# & vb.net. I too started when I was 14 and I am now fairly good at programming (being 15 now) But the point is....well, there's no point im getting to now but check out c#. Thats the easiest way to go without dipping too low in vb.net. Anyway, here's where I learned a bunch of stuff::
http://homeandlearn.co.uk/NET/vbNet.html
when you finish, you will be a master of vb.net....if you wanna go for c#, make sure you stick to one language and go for:
http://homeandlearn.co.uk/csharp/csharp.html
I would highly recommend not to go with mobile programming til' you get a basic understanding of the desktop programming (as .net CF is very very minimal compared to the full blown .net)...
ALSO as a final note, use Visual studio 2010 Express edition for programming and if you wanna go a step up into mobile programming, get visual studio 2008. 2010 doesn't support device programning.
Click to expand...
Click to collapse
+1 on this. it's way easier to step into mobile developing if you have at least a basic grasp of programming for PCs. And the 2010 Express Editions are very nice. Definitely nicer than 2008 Express Editions.
A little hwile back I thought it would've been good to start learning in C++ (i started in C#), but looking back, C++ is way too hard to get a "quick win" and it's too easy to mess something up when you dont know what youre doing. C# you can literally go from zero programming knowledge to creatic a bsic application within a couple hours.
MSDN has some good C# programming tutorials also.
msdn blows for a first time newbie. I am posting a tute for an ultimate newbie in the dev section and hope to see a few people getting help from it
ok done. it is posted in new thread....enjoy.
One can not see the forrest thru the trees? I'll try my best to help you out here.
The xml International Standard Organization (ISO) -=[ find xml apps here too ]=- :
http://www.w3.org/standards/xml/
Side Note: Some Microsoft web pages need/prefer you being logged in @live.com
Learning XML An Overview;
XML is an almost universally supported way of exchanging documents and data across applications and platforms. Microsoft has a family of XML technologies that allows users with differing requirements to do what they need, as simply and efficiently as possible.
Which XML application programming interface (API) should you use? Here are our top-level guidelines:
If you are writing managed code targeting the .NET Framework in C#, Visual Basic, J#, managed C++, or any other managed language, you should use System.Xml and/or LINQ to XML in the .NET Framework.
If you are writing native code using Visual Basic 6, C, C++, or a scripting languages you will probably want to use the MSXML library:
MSXML6 is the latest version that's included with Windows XP SP3 and all versions of Windows Vista and Windows 7. New applications should be using MSXML6.
MSXML5 is an older library optimized for Microsoft Office 2003 and 2007 and can only be used on machines that have an Office license.
MSXML4 is nearing deprecation. MSXML6 should be used for new applications
MSXML3 is included in Windows XP and higher.
Comprehensive list of all MSXML versions and variants
If you are writing native code and your application has tight performance or memory constraints, consider the XmlLite API.
What XML Tools Are Available? Visual Studio offers a core collection:
XML Editor
XML Schema Explorer
XSLT Debugger
XML Tools in Visual Studio overview
.NET XML PowerToys:
Generating XML Documents from XML Schemas
The XML Diff and Patch GUI Tool
Using the XML Diff and Patch Tool in Your Applications
Using the XSD Inference Utility
XML Tools Update
Read more HERE; http://msdn.microsoft.com/en-gb/data/bb291061.aspx
Visual Studio Editor Choosing System
XML and the .NET Framework
Hosted by Microsoft; a very good and free XML Editor: XML Notepad 2007 (supports stylesheets)
Visit the XML forum
MSXML SDK
3 free XML Editors;
XF Desktop Edition 7.5.0
Comprehensive XML formatting solutions based on Open Standards.
XML Marker v1.1 ScreenShot
SciTE an opensource cross-platform SCIntilla Text Editor
Core Downloads for Windows Mobile
Windows Mobile 6 SDKs: documentation, sample code, header and library files, emulator images, and tools for building Windows Mobile 6 applications in Visual Studio
Windows Mobile Device Center 6.1 for Windows Vista (32-bit or 64-bit)
Microsoft ActiveSync for Windows XP or earlier versions
New Downloads
Windows Embedded CE 6.0 Monthly Update June 2010
Office 2010: Product Guides
Windows Embedded CE 6.0 Monthly Update May 2010
SQL Server Compact 3.5 SP2 for Windows Desktop
Windows Embedded CE 6.0 Monthly Update April 2010
Windows Embedded CE 6.0 Monthly Update March 2010
Windows Embedded? Give me More information please!
Windows Embedded? Of course here is more information!
Windows Embedded CE PowerToy: DiskPrep Blog (MSDN Code Galery)
Related Resources
Windows Embedded CE Development Tools
What is the .NET Micro Framework?
Windows Mobile Starter Kits
Windows Mobile 6 Developer Resource Kit Trial Software
Popular Downloads
Windows Mobile 6 SDK Refresh
Windows Mobile 6 Localized Emulator Images
SQL Server Compact 3.5 SP2 for Windows Desktop
Windows Mobile 5.0 SDK for Pocket PC
Office 2010: Product Guides
Windows Mobile Developer Power Toys
SQL Server Compact 3.5 SP1 and Synchronization Services for ADO.NET v1.0 SP1 for Windows Desktop
Library Topics
Installing Developer Tools for Windows Mobile
Welcome to Windows Mobile 6 Documentation
Windows Mobile 6 SDK Documentation
Windows Mobile 5.0 SDK Documentation
Only if you want to code your applications to run on all WM5/6 devices without any problems you need besides the Professional ~ the WM5/6 Standard SDK too!
Windows Mobile Developer Power Toys; (Released with WM5 though usable with WM6)
ActiveSync Remote Display - Display Pocket PC applications on your desktop or laptop without needing any device side configuration.
CECopy - Command line tool for copying files to the device currently connected to desktop ActiveSync.
Convert PPC DAT to SP XML - Command line tool for generating Smartphone CABWizSP XML docs from existing Pocket PC CAB files.
Hopper - User input stress simulator.
JShell - UI version of the Platform Builder Target Control Window.
PPC Command Shell - Command shell for the Pocket PC 2003 device.
RAPI Debug - Displays detailed information about currently running processes.
RAPI Start - Command line tool to remotely start an application on your Pocket PC from your desktop.
TypeIt - Send characters/strings to the Smartphone 2003 Emulator via ActiveSync.
Windows Mobile Network Analyzer PowerToy (Released with WM5 though usable with WM6)
Windows Mobile Device Security Manager PowerToy(Released with WM5 though usable with WM6)
Windows Mobile Development Tools and Resources!!! (Released with WM5 though usable with WM6)
General (Embedded) WM 6.x CE PowerToys link
-=[ Windows Phone (= Vista or Windows Seven as OS and VS2010) ]=-
Windows Phone Developer Tools Beta
Vista or Windows Seven and VS2010 and Embedded Windows Phone in action;
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
http://www.microsoft.com/express/Phone/
Microsoft SDKs for;
Azure Services Platform
Windows Desktop
Office
Devices
Windows Live Services
Server Technologies
Social
Games
Web Development
Other
Development Resources for WM- here on xda-developers.com UPDATED
http://forum.xda-developers.com/showthread.php?t=445396
Not (all) Windows Mobile specific: Microsoft Solution Accelerators & ~ A-Z technet :Free power(toys);
Tools and guidance that help you solve your deployment, planning, and operational IT problems. They are free and fully supported.
MSDN Code Galery third party resources Plus nice (embedded) CE PowerToys (like DiskPrep).
Delphi Components, Scripts, Codes: Blade API Monitor, Delphi SWF
SDK, FastCube, PDFConverter ActiveX ...
http://www.vclcomponents.com/Delphi/
Dependency Walker. Read it, download it, configure it, start using it! All first time users will be amazed Do not forget to read the thread completely ; great utilities when missed out on..
When developing for Windows Mobile or Windows Phone verify your application with PEinfo(executability check following Portable Executable File Format).
Have fun informing yourselves while downloading some SDKs people,
kliptik said:
+1 on this. it's way easier to step into mobile developing if you have at least a basic grasp of programming for PCs. And the 2010 Express Editions are very nice. Definitely nicer than 2008 Express Editions.
A little hwile back I thought it would've been good to start learning in C++ (i started in C#), but looking back, C++ is way too hard to get a "quick win" and it's too easy to mess something up when you dont know what youre doing. C# you can literally go from zero programming knowledge to creatic a bsic application within a couple hours.
MSDN has some good C# programming tutorials also.
Click to expand...
Click to collapse
Checking out the tutorial now.
I will start learning c# first. But leaving to Italy on sunday.
@robbi13: I understand that everyone is saying to go for C#, and they all are presenting very valid reasons of why to start there.
I however, feel, from my experiences, that learning C++ is a great way to start because it really challenges you. Take it like a workout: On your first day, you have to challenge yourself to see where you are and what you can do, then on every succeeding day, you do a bit more to get better.
Starting with C++, you can see if it is too tough to manage (dealing with Pointer issues and Memory Allocation / Leans), and if it is, go to C# or VB, but know that you made the attempt to learn C++ first. I tried learning C++ about 4 or 5 times, gave up EVERY single time (started with PSP Development) because I knew that I already knew how to code in Lua or C# or MortScript, and those 'safety nets' actually prevented me from learning a new language, because I was aware that I could fall back on them without having to learn a new thing at all.
Having said all that, if you would like help with C++ Development, PM me or email me at [email protected] ... I would be thrilled to help out a fellow aspiring developer
[BTW: I am 17 ... so consider that in terms of how I learned my languages]
Cyclonezephyrxz7 said:
I however, feel, from my experiences, that learning C++ is a great way to start because it really challenges you.
Click to expand...
Click to collapse
If there's one language every self respecting programmer has to know today, it's C. C is everywhere, it's as close to the bare metal as you need to get, and yet it's a simple and elegant language. The concepts you learn with C are relevant in every other programming language. C may be hard for a beginner to understand, but it's a language you can eventually fully master - it has relatively few concepts you need to understand, and few exceptions and quirks.
C++ adds nothing to your understanding over C. And yet C++ it a much more difficult language - you can't really use it without a solid understanding of C, and you need to know a whole lot more to figure out the variety of exotic bugs you come across.
So my advice: forget C++. There are 2 things a serious programmer really must know - C and any modern high level language, such as C#. The order of learning is down to preference, but I think it's better to get the hang of programming first with C# before delving deep into implementation details with C. A hobbyist however can just learn C# and be done with it.
Elemris said:
If there's one language every self respecting programmer has to know today, it's C. C is everywhere, it's as close to the bare metal as you need to get, and yet it's a simple and elegant language. The concepts you learn with C are relevant in every other programming language. C may be hard for a beginner to understand, but it's a language you can eventually fully master - it has relatively few concepts you need to understand, and few exceptions and quirks.
C++ adds nothing to your understanding over C. And yet C++ it a much more difficult language - you can't really use it without a solid understanding of C, and you need to know a whole lot more to figure out the variety of exotic bugs you come across.
So my advice: forget C++. There are 2 things a serious programmer really must know - C and any modern high level language, such as C#. The order of learning is down to preference, but I think it's better to get the hang of programming first with C# before delving deep into implementation details with C. A hobbyist however can just learn C# and be done with it.
Click to expand...
Click to collapse
Yeah I think you hit the nail on the head with "hobbyist" it really depends on how much you're going to be learning. If you're just going to play around a little bit and then get burnt out, you migh t as well do it in C# andenjoy it!
That being said, the .NET frameork does have some shortcomings, and to get around them you need some knowledge in C/C++...

Progress on rooting WP7

I'd like to extend my gratitude to RustyGrom and others (if there are any) for the work on unlocking the developer builds of WP7, but I was wondering what where we are in relation to 'rooting' WP7 so we can run our own unsigned binaries and possibly even getting the stock Windows CE shell and software running on WP7 instead of the Metro UI.
I've heard unconfirmed and uncorroborated rumours of Microsoft's plans to allow native development eventually, but my friends who work at Microsoft really give me the impression that the Managed-only rule is here to stay, in which case it will be up to people like us to get it working.
My initial thoughts are that the hardware HTC and other mfgs produce will have a firmware flash function, so it's just (in my naive mind) a matter of dumping the ROM, making the right changes, and re-flashing the device, assuming there isn't a requirement the new ROM image is signed by Microsoft or the OEM.
Windows CE wasn't built with a hypervisor in mind (unlike the PS3) so I'm curious as to how the sandbox is implemented, and how an attack could be forged against the platform. If we get something working on the emulator would it work on the physical devices?
IIRC policies are requested by xml configuration files located in a .xap.
I haven't yet looked deeply into this, but I would assume it works similarly to CE5.x/WM6.x: that is, if the .xml requests a higher security level than the norm (say, SECLEVEL_EXEC_NATIVE_CODE for example), the .xap deployment system would check the .xap certificate against the internal certificate store. If a match is found to the right security level (Root at first, later OEM, probably never User), the application is allowed to install, if not, the installation is denied.
So, elevating privledges to execute native code should be easy to do with filesystem level access, we inject our own certificate to the root certificate store, sign the .xap with that certificate, and deploy away.
NOTE: This is an educated assumption, i've not actually examined the restriction system in depth yet.
Sortof. You could use those "Interop" methods and go native. It worked for me with a lot of tough luck.
The word windows and "Rooting" should never ever be used together. The term rooting obviously is being grossly misused.
Root is the user in linux that is given full and complete access to all system resources.
tyrannus said:
Sortof. You could use those "Interop" methods and go native. It worked for me with a lot of tough luck.
Click to expand...
Click to collapse
P/Invoke and Interop don't work on WinPho because the functionality required is disabled in the sandbox environment, or possibly not even present in the version of the CLR they're using.
Look, it's W3bbo!
Tom Servo said:
Look, it's W3bbo!
Click to expand...
Click to collapse
Wtflol. Hey Toiletbrush, haven't seen you around for a while. Didn't you get banned from C9 or something?
(I'm still active on SA btw, just under a different username)
Naw, I was on an Anti-MS binge for three years until few weeks ago. Took Oracle screwing up OpenSolaris. That and I wanted a Windows Phone. Kinda useless without Windows.
Mod edit: Please watch your language
For the main:V can't run wp7 on our HD2
I am thinking of the other way around, getting xaml and xap to run on wm6, the hd2 is quite capable of running them. Wp7 runs cf3.7 and we can start from there. Maybe we need to identify the required assemblies and copy them. Defiantly it won't be fully supported, launchers will not work for example but it might be a good shot.
I'm not a core coder or hacker, but when it comes to logic I'm optimistic, it might be possible.
I would love to see silverlight running on wm.
You are really optimistic.
WP7 is compiled against armv7, where WM is compiled against armv4i...
ARM v7 has nothing to do with .net assemblies, that us why we need .net cf to run apps built using .net
Now the question is, is the .net cf responsible for running xap packages or is it another framework (like on pc, you need sl runtime)
Afak, it is the cf.
Please correct me if I'm wrong.
I read every post and understood nothing. You guys are on another level with your tech jargon. Lol.
Sent from Android HD2 using XDA app
anaadoul said:
ARM v7 has nothing to do with .net assemblies, that us why we need .net cf to run apps built using .net
Now the question is, is the .net cf responsible for running xap packages or is it another framework (like on pc, you need sl runtime)
Afak, it is the cf.
Please correct me if I'm wrong.
Click to expand...
Click to collapse
The JIT compiler (or what is used in CF version) that loads assemblies is compiled against armv7 and these assemblies can't be run on our compiler.
OndraSter said:
The JIT compiler (or what is used in CF version) that loads assemblies is compiled against armv7 and these assemblies can't be run on our compiler.
Click to expand...
Click to collapse
Assemblies are not compiled against a platform or a CPU Architecture, they are compiled against a .NET Framework version to an IL.
The JIT is the different one, it is a native code so it is compiled to V7 in Windows Phone 7, but we have it already (JIT) compiled against ArmV4 (as in .net cf)
anaadoul said:
Assemblies are not compiled against a platform or a CPU Architecture, they are compiled against a .NET Framework version to an IL.
The JIT is the different one, it is a native code so it is compiled to V7 in Windows Phone 7, but we have it already (JIT) compiled against ArmV4 (as in .net cf)
Click to expand...
Click to collapse
Unlike Java, the IL that .NET compiles is actually CPU specific. This is why you can specify the CPU type when compiling a (desktop) .NET application (either x86, x64 or Itanium).
XAP files on Windows Phone 7 run on top of a modified version of Silverlight. Silverlight has its own runtime engine, and does not reference the .NET libraries at all (they just happen to share namespaces and classes to make coding easier). To get WP7 applications to run on WM6.5 you would need to recompile Silverlight.
TehPenguin said:
Unlike Java, the IL that .NET compiles is actually CPU specific. This is why you can specify the CPU type when compiling a (desktop) .NET application (either x86, x64 or Itanium).
Click to expand...
Click to collapse
Not true. The MSIL itself is CPU-independent. The reason you can chose to specify the architecture when compiling is for .NET Applications that depend on external native-code libraries. Obviously, in those cases, the default "Any CPU" option just causes a nightmare, as the framework then chooses the architecture of the JIT compiler, meaning different dependencies for different machines. Selecting an architecture inserts data telling the JIT compiler what architecture it must use.
That said, what you go on to say about Silverlight is true. Silverlight does not depend on the .NET Framework on the desktop, or the .NET Compact Framework on CE or WP7 (though the compiler for Silverlight does require the .NET Framework). Strictly speaking, the only thing they share in common is the CLR, the libraries are all recreated and re-engineered for their specific purpose. The Libraries share the names simply to enable software developers to re-use as much desktop code as possible.
(Note: I think this is all correct, though I'll be the first to admit that I am much more experienced with Desktop .NET than the mobile equivalent).
Silverlight on WP7 will undoubtedly have native dependencies too, just like the .NET Framework and the .NET Compact Framework (both make extensive use of existing Windows APIs, of course).
Therefore, it'd take a Moonlight-style project (The Mono equivalent of Silverlight, enabling Silverlight applications to run on Linux) in order to bring Silverlight to Windows Mobile classic.
hounsell said:
Not true. The MSIL itself is CPU-independent. The reason you can chose to specify the architecture when compiling is for .NET Applications that depend on external native-code libraries. Obviously, in those cases, the default "Any CPU" option just causes a nightmare, as the framework then chooses the architecture of the JIT compiler, meaning different dependencies for different machines. Selecting an architecture inserts data telling the JIT compiler what architecture it must use.
That said, what you go on to say about Silverlight is true. Silverlight does not depend on the .NET Framework on the desktop, or the .NET Compact Framework on CE or WP7 (though the compiler for Silverlight does require the .NET Framework). Strictly speaking, the only thing they share in common is the CLR, the libraries are all recreated and re-engineered for their specific purpose. The Libraries share the names simply to enable software developers to re-use as much desktop code as possible.
(Note: I think this is all correct, though I'll be the first to admit that I am much more experienced with Desktop .NET than the mobile equivalent).
Silverlight on WP7 will undoubtedly have native dependencies too, just like the .NET Framework and the .NET Compact Framework (both make extensive use of existing Windows APIs, of course).
Therefore, it'd take a Moonlight-style project (The Mono equivalent of Silverlight, enabling Silverlight applications to run on Linux) in order to bring Silverlight to Windows Mobile classic.
Click to expand...
Click to collapse
If silverlight doesn't need the .net cf then
1) why is it included in wp7 (.net cf 3.7)
2) how can we use compiled assemblies (.net) inside silverlight?
Sent from my HTC HD2 using XDA App
anaadoul said:
If silverlight doesn't need the .net cf then
1) why is it included in wp7 (.net cf 3.7)
2) how can we use compiled assemblies (.net) inside silverlight?
Sent from my HTC HD2 using XDA App
Click to expand...
Click to collapse
1) XNA uses the .NET framework
2) The assemblies must target the Silverlight runtime, as such any assembly compiled for the .NET runtime will not work
anaadoul said:
1) why is it included in wp7 (.net cf 3.7)
Click to expand...
Click to collapse
I don't know, maybe because a lot of the base system's written in not-Silverlight managed code?

[Q] Tablet / Desktop/Phone app compatiblity

Hello:
This is my first posting here and I'll be getting a Surface RT tablet this thanks giving. I have a iMac 2013 running Windows 8.1 and Visual Studio 2013 Ultimate thru MSDN.
I would like to develop Windows Store desktop/tablet/phone apps (using C#, XAML) or Xojo that should run on Surface RT, Surface Pro, Windows Phone, Windows 8, Windows 7, Vista and XP (supporting both 32 bit and 64 bit). I wanted to know whether the desktop apps I'm developing would run on all of these environments or is it limted to run only on Surface variants. The intent of buying a Surface RT is to take it to college while at the same time test the apps on Surface RT and deploy to the Windows store. I'm confused on the ARM and Intel/AMD cpus and do I need to change anything in Visual Studio 2013 config to target these environments.
Please advise.
ARM vs x86 is simple enough to cover quickly. Computer processors always use a particular "instruction set" to tell them what to do. x86 is one instruction set, ARM is another instruction set, an ARM processor of course uses the ARM instruction set and an x86 processor uses the x86 instruction set.
Computer software is usually compiled from human readable source code into machine code which the processor then executes or they are interpreted where a piece of software which has already been compiled via the previous method then reads your source code and processes the output directly (as they rely on existing software, you cant write an operating system in an interpreted language, they are often referred to as scripting languages instead of programming languages but in terms of application software they are sometimes just as capable if just slightly slower). Then standing write in the middle you get the bytecode languages, you take human readable source code and compile it into bytecode, the bytecode essentially being an instruction set for a processor which doesn't exist in hardware, you then take a piece of software called a virtual machine which takes the bytecode and processes the output, sort of a half way between being fully compiled and fully interpreted.
Java compiles to java bytecode for the java virtual machine, as long as you have a functional java virtual machine you can run your java application on any platform (and java is indeed on most desktop operating systems and on multiple instruction sets). C# and Visual Basic .NET both compile to .NET Bytecode for the .NET virtual machine, again, with a functional .NET virtual machine you can run a C# application on any platform (unfortunately only windows (including RT) has microsofts official .NET virtual machine, but mono is compatible and runs on other platforms too). C or C++ are compiled, compiled languages must be compiled for a particular operating system and instruction set. Python, lua or batch are interpreted, as long as you have a functional interpreter they will run on any platform. One thing to take note of, in theory it is possible to take a particular programming language, lets say a compiled one, and then write an interpreter for it instead of a compiler (and there are indeed C interpreters) or an interpreted language and write a compiler for it (has been done too), but we are ignoring that.
Visual studio will build windows applications in C/C++ or it is the IDE of choice for C# or VB.net on .NET. No surface limitations, with plugins (or considering usage of mono on other operating systems) it can even do extra platforms and languages too (I personally use it for python and have used it for arduino microcontrollers). It supports both ARM and x86 for C/C++, I admit I have not tried C/C++ in visual studio for windows software so I dont know if it simply builds your software 2/3 times or if you need to manually select ARM but the drop down for it is in the build configuration manager either way so you can always take a look in there for yourself, for .NET it says Any CPU (it is possible to tell it to make an x86 or ARM only .NET application, I am yet to come across why with the exception of perhaps optimisations). Windows store apps generally have to be done in Visual studio and officially your only options for store apps are C++, C#, VB.net and Javascript.
Store apps in my opinion are *not* a good introduction to programming. Console applications are far better to start off with. Leaves you with an issue, windows RT cannot run any application except store apps without a digital signature attached to the executable, which is great but we have no way of obtaining those signatures ourselves, only microsoft do. End result is that you can compile your C project for ARM from visual studio or take a .NET application, but you cant run it on the RT (which is an ARM device). Useful huh? Someone wrote a jailbreak which removes this restriction, but its for RT 8.0 only, the 8.1 update breaks it.
Also windows store apps are different from windows phone apps. You wont be able to write an app for both. You would have to write 2 entirely seperate apps. Only windows 8, 8.1, RT and RT 8.1 can run store apps. Only windows phone can run windows phone apps. Officially only windows 8 (including 8.1) and below can run desktop. Your cross platform ambitions are just that, ambitions. For 1 beginner, they are unattainable.
Xojo is for web apps, aka glorified websites.

Categories

Resources