Since XDA-Developers has many users (Probably the most anywhere), I think it would be great to get a Programming section on the forum with Sub-forums on it for different languages so that we can ask for help and share snippets and codes and such.
The section can be like this:
Programming:
-Visual C# .NET
-Visual Basic .NET
-Visual C++ and VC++ .NET
-MortScript and NSBASIC
-FBA Creator And Basic4PPC
-Other Languages
Each forum can have a sticky in it that are the following:
-Freeware Resources
-Commercial Resources
-Code Snippets
-Official Announcements
And then the rest of the forum can be dedicated to questions users might have regarding the programming language, it can list releases in source code that users might want to share and more.
What do you guys think?
jdiperla said:
Since XDA-Developers has many users (Probably the most anywhere), I think it would be great to get a Programming section on the forum with Sub-forums on it for different languages so that we can ask for help and share snippets and codes and such.
The section can be like this:
Programming:
-Visual C# .NET
-Visual Basic .NET
-Visual C++ and VC++ .NET
-MortScript and NSBASIC
-FBA Creator And Basic4PPC
-Other Languages
...
Click to expand...
Click to collapse
I agree and have said the same, but I would make the suggestion that splitting C# and VB.Net is somewhat pointless given the drastic similarity. The same goes for VC++.Net. They are all just syntactically different with a few very minor feature differences (or just simply playing catch-up with c#).
In general, there probably shouldn't be a purely language based split, it should probably center a little more on technologies used (ie. java, netcf, scripting/mortscripting, etc). I think there should be at least one or two language agnostic sections for things like OpenGL ES which is obviously going to see a massive adoption in applications within a year.
speed_pour said:
In general, there probably shouldn't be a purely language based split, it should probably center a little more on technologies used (ie. java, netcf, scripting/mortscripting, etc).
Click to expand...
Click to collapse
Agreed. It might even be a good idea to split Java, since there are frameworks for both J2SE and J2ME, but then, Java (esp. SE) isn't that common on WM phones anyway...
So, I'd recommend those sub forums:
- Native code (C, C++)
- .NET (C#, VB/C++.NET)
- Java
- Other frameworks (old EVB, Basic4PPC, FBA Creator, ...)
- Scripting (MortScript, NScriptm, ...)
I think there should be at least one or two language agnostic sections for things like OpenGL ES which is obviously going to see a massive adoption in applications within a year.
Click to expand...
Click to collapse
Only if MS doesn't enforce DirectX 3D support and manufacturers aren't too lazy to support both DirectX and OpenGL. (Like the X1, where OpenGL demos don't run)
But yes, some generic sections might be good, also for COM objects, like used for e.g. accessing contact data, messages, WMP, ...
OK, I can see the .NET c++ and C# being combined. But to be honest, to me, VB.NET is a completely different language. And since thats what I program having it be in a separate forum would be better.
Any thought on this?
I have suggested some new forums that include WinMo and Android programming... but they are still under discussion.
Dave
Related
I want to program simple applications, one or two screens, a few input boxes, simple graphics, display the output. Compile to an .exe. I "sorta" program, I can do a lot in Excel VBA, can't do C++ never tried Java or others.
Are there any easy to use programing languages (and environments) that would do what I need?
I look forward to you insight.
Nick
.net IDE
maybe get a copy of visual studio, it's pretty easy to create a simple forms app in VB.net or c# with it.
Thanks for the reply...
Do you need "Visual Studio"? Or will Visual Basic 2008 work?
Are there free Visual Studio versions? If so, I haven't found the right link yet.
Nick
C++ and Java are similar and easy to pick up, and java is even based off c++, personally I use codeblocks as my IDE, but there are many others to choose from
nkemp said:
I want to program simple applications, one or two screens, a few input boxes, simple graphics, display the output. Compile to an .exe. I "sorta" program, I can do a lot in Excel VBA, can't do C++ never tried Java or others.
Are there any easy to use programing languages (and environments) that would do what I need?
I look forward to you insight.
Nick
Click to expand...
Click to collapse
There has been a lot of question on how to program lately.
Before asking, please:
1) Do a search on the forums
2) Look at the sticky in the front of the forum. There is plenty of information on programming in the Wiki pages.
Good luck!
nkemp said:
Thanks for the reply...
Do you need "Visual Studio"? Or will Visual Basic 2008 work?
Are there free Visual Studio versions? If so, I haven't found the right link yet.
Nick
Click to expand...
Click to collapse
The free version is called Visual Studio Express
[Not allowed to insert links]
Go to: microsoft.com/express/Downloads
Search for Basic4PPC and try it. It has a similar interface to VS and much cheaper (there's a demo you can download so you can try out for yourself.) The language is similar to VB. The end result is an application written using Compact Net Framework.
Good luck
Thanks for the help folks ...
There area a lot of options listed in the sticky but the problem is that there is no evaluation of ease of use.
- I did download basic4ppc and it seems easy enough to use ... for a fee
- but you don't know that until you download (unless you click through to the wiki)
- I downloaded SharpDevelop but have not been able to figure out the code (poor documentation and dead links to things like the C# book)
- Next I'll try FBA Creator
Nick
Later ..... So I tried FBACreator and a lot simpler ... but no no way to graphically design the screen like basic4ppc or SharpDevelop.
As per title,
Having never writting apps before, I thought I'd have a go at downloading Expression studio (mainly due to it being free for students )
Seems pretty easy to get the hang of and these tutorial videos to follow are pretty handy http://microsoft.com/design/toolbox, it would be nice to maybe have a section of the forum for developing apps in Silverlight
Espescially seeing as deploying apps directly to your phone in Visual Studio seems to be the only way to side load apps at the moment.
This is the right section, as soon as I can make clear that this section is not intended for general chat but actual software development questions
ok so, pulling the silverlight and xna libraries out of the emulator and cooking them into wm6.5.5 i now need a way to test if these libraries are valid.
anyone interested in compiling a simple test for these? it seems the xna game, input and core libraries are there as well as silverlight browser and ui stuff.
very interested to see how valid these libraries are if at all
norgan said:
ok so, pulling the silverlight and xna libraries out of the emulator and cooking them into wm6.5.5 i now need a way to test if these libraries are valid.
anyone interested in compiling a simple test for these? it seems the xna game, input and core libraries are there as well as silverlight browser and ui stuff.
very interested to see how valid these libraries are if at all
Click to expand...
Click to collapse
Ha love this way of thinking, how to get new stuff running on old stuff.
Reminds me of this big community i have heard of.
Sorry dude but I'm very sure this won't work.
First up, the files have dependencies (namely CE7 and other core files must use the CE7 API). You can't get around this without source code.
Secondly, the files from the emulator have ARM headers but use x86 code, as far as I know.
Thanks!!
You can find a whole bunch of silverlight projects to download here http://silverlight.net/community/samples/silverlight-samples/
Noonski said:
Ha love this way of thinking, how to get new stuff running on old stuff.
Reminds me of this big community i have heard of.
Click to expand...
Click to collapse
thinking without restricted boundaries, it may not work and i may be waaay off, but then again....it may just work lol and if not i've lost nothing.
the silverlight causes issues and i am sure there is more to xna than just the framework dll's. will be interesting to try and call functions within them and see what happens either way.
Hello guys,
Today I'm going to provide an easy and step-by-step guide (With support) to develop your very own first native Windows app!
I'll also provide screenshots and code snippets, so it's easier to understand.
This guide and app will be written in the simplest language I know and I use, Microsoft Visual Basic. Now, before anyone starts hating; Visual Basic is a programming language which works with and on top of the .Net framework. As the name states, you can visually design your application and code it with very basic code.
Visual Basic is also very powerful, as it can be used to communicate with the Windows OS and with the computer's hardware (And especially COM ports)
This guide will focus on the use of the WinForms (Win32) API, so we won't be using any old command prompt (As I think tutorials using the command prompt are quite hard to understand and pretty stale)
#1. Prerequisites:
Before we can begin creating our first app, you'll need some software:
Microsoft Visual Studio Express 2012 (For Windows Desktop)
Windows 7 or 8 (For Windows Vista-, you can use Visual Studio 2010 or earlier!)
A cup of your favorite hot beverage
Some patience
and courage
Once you have acquired all of those, you can start download- and installing the software (All other prerequisites are provided in the package), this is where your hot beverage will come in handy (Alternatively, you can go for a nice cigarette or for a quick pop-down-the-shop).
I decided to create a series of videos on YouTube, for this thread.
So, here we go, I guess
Episode 1; Performance Counters and Progress Bars:
If the YouTube video is not visible/available, try watching it here: http://youtu.be/geePfZzjYCA
Episode 2; XDA-String-Loader:
If the video is unavailable, watch it here: http://t.co/LO1q1jTIfE
Downloads
Note: All downloads in this post are just VB source code. They are licensed under either GPL2.0 or GPL3.0 - So feel free to download, experiment and post what you've done!
GitHub Source Code Repositories: https://github.com/Beatsleigher/XDA_Visual_Basic_Tutorials/
Good Qs and As
This post is reserved for good questions and answers.
User Contributions
This post is reserved for user contributions.
Post your code and show the others what you have achieved!
Reserved..
--- Reserved ---
Reserved..
--- One more reserved post ---
develop your very own first native Windows app
Click to expand...
Click to collapse
Visual Basic is a programming language which works with and on top of the .Net framework
Click to expand...
Click to collapse
And there you go, feel free to experiment with this code and play around with it. It is licensed under the GPL v2, as of now. I will create more posts in this thread over time and add more projects for you to work on.
Click to expand...
Click to collapse
I'm crying blood, sorry D:
Yeah, you do kinda contradict yourself by calling it a native application and then using Visual Basic .NET (I must say, I have little faith in the tutorial being accurate if you cant even name the language properly). All .NET languages are run in a VM which by definition is not native I would hardly call it powerful either, it offers nothing that any other .NET language can't do faster and manages to **** things up in the process. Your statement about COM. Wtf??? VB.net makes COM access no easier or harder than anything else. The fact it is easy to access COM (which is something rarely used these days, although I do use it) is purely down to system.io.ports which is a generic .NET library and not a VB.net feature.
There is a good reason for command prompt based programs being the first step. They are simple. You dont have to worry about events and OOP programming early on. You can just sit down, learn wtf an integer is, bit of flow control and what iteration is etc.
SixSixSevenSeven said:
There is a good reason for command prompt based programs being the first step. They are simple. You dont have to worry about events and OOP programming early on. You can just sit down, learn wtf an integer is, bit of flow control and what iteration is etc.
Click to expand...
Click to collapse
And of course to use much simpler language, like Pascal. Console.ReadLine can confuse beginners.
Guys, maybe I... phrased things wrong.
It uses the .Net framework, but the language itself is native code.
The only things that run on top of the .Net FW are the new tools. Everything else is native code.
Whoops.
Beatsleigher said:
Guys, maybe I... phrased things wrong.
It uses the .Net framework, but the language itself is native code.
The only things that run on top of the .Net FW are the new tools. Everything else is native code.
Whoops.
Click to expand...
Click to collapse
you have just perfectly demonstrated that you don't have a clue what the .net framework is or how VB.net relates to it.
quick description of what really goes on when you hit F5 in visual studio (and for simplicities sake I am assuming we are in release mode not debug mode).
You hit f5.
The Visual Basic .net compiler analyses the source code, links it all up etc.
It then output MSIL. MicroSoft Intermediate Language.
The .NET framework is then a JIT dynamic recompiler (read, interpreter) which interprets the MSIL and executes the output.
It is not native code. The .NET framework is not just a set of tools.
only confusion which may arise is that .NET is now a part of the windows runtime, but it is not native any more than java is (same principal operation).
JIT compilation != dynamic recompilation != interpretation. Please don't confuse them.
JIT compilation ("Just-In-Time", what .NET and Java do, as well as recent JavaScript engines) takes data that is *not* machine code (it can be a binary intermediate language, such as Java bytecode or .NET Common Intermediate Language ("MSIL" is obsolete; it's a public standard now), or it can be normal source code, such as JavaScript) and turns it into machine code immediately before the program runs. This introduces a delay at program startup, but thereafter the program runs almost as fast as it would if written in C and compiled directly to native code.
Dynamic recompilation takes machine code for one processor, generally already loaded into memory for execution, and translates it to machine code for a different processor before it is executed. The translated machine code is then stored back into memory so that the next time that code would be executed (for example, if it's in a loop or a function that is called multiple times) it doesn't need to be translated again. Dynamic recompilation operates on machine code, which (unlike intermediate language) is processor-specific and is not intended to be further compiled; this makes it significantly slower in most cases. It's largely replaced outright emulation (in which an entire CPU's state is modeled on some other CPU, and each instruction is run through the emulated CPU unmodified) as a way to execute a program written for one instruction set architecture on another ISA because it's faster than emulation, but it's still very slow.
Interpretation is like emulation, except it operates entirely on instructions which aren't machine code at all; you can write an interpreter for intermediate language (and that's basically how early versions of Java worked), but it's typically used for script languages (until recently, interpretation is how JavaScript was executed). An interpreter is a program that takes the interpreted language and figures out what it means in terms the CPU understands, then does that. For example, a CPU doesn't understand that "+" means addition; to a CPU, + is nothing except a number, just like any other ASCII character. It's up to an interpreter to recognize that + is supposed to be an operator, and that the 1 and 2 in 1+2 are supposed to be operands, and that they need to be converted from ASCII characters to the actual values 1 and 2 (which aren't even printable values in ASCII) and then to do the operation and store it somewhere. As you might expect, interpretation is *extremely* slow.
thanks for the videos. don't let the trolls get you down!
squeezyb said:
thanks for the videos. don't let the trolls get you down!
Click to expand...
Click to collapse
No worries, man
I tend to ignore such posts, as I don't see reason to argue
CyanogenModded Very China-like, from my Samsung Galaxy S III
LG Familyguy59/Beatsleigher
Hello XDA,
I have developed an app called Ring My Droid (Scan the QR-Code attached with this post).
Currently this app is only available for the Android platform through the Google Play Store.
I am learning to develop apps for the Windows Phone platform too. But, then I came across this section of the XDA Forum and I am interested to know if anyone out here is aware of a tool or a website or blog providing tutorials or a methodology for porting my existing application to the Windows Phone platform?
This may be a noob question, but I am very new to programming for Windows Phone so bear with me..
Any help would be greatly appreciated!
Thanks.
prognosis: serious
I don't know of any frameworks off the top of my head, but I can infer some of the answers based on experience in other platforms. And those answers are not very promising, unfortunately.
1) If you want your app to be cross-platform, you need to design it as such from inception. Otherwise you're in for a lot of work no matter how you slice it.
2) Because WP and Android use different languages for native apps, you have a big problem in just getting your source code targeted to both platforms. If your codebase is already in Java, you'll need a Java -> C#/VB/C++ translator to make it work. I'm not sure that a product like that exists. If you had started with, say, C#, you could utilize something like Xamarin to target Android and WP at the same time, but like I said I'm not aware of anything similar for Java->C#.
3) If your app is written in HTML 5, then you could adapt it to work on WP8 with very little extra effort. But in that case I bet you would have already known that you're cross-platform-compatible and wouldn't ask this question to begin with.
4) If you're resigned to rewriting your app while maintaining its core design the same, then the basic methodology is as follows:
a) refactor your app into well-defined, loosely coupled components.
b) factor away all Android specific APIs into adapter classes and have all "core" functionality written in terms of those adapters
c) port your core classes to a different platform (WP) in a WP-supported language, such as C#. This would be a straight, mechanical but nevertheless manual rewrite.
d) reimplement your missing adapters on WP to take advantage of WP APIs, while leaving internal-facing interfaces the same, so your core classes just work.
e) all of this makes sense only if there is enough complex core functionality to warrant the rearchitecture + translation. If your app is little more than glue shuffling data between external data sources, then all of this is not worth it, and a compete rewrite is the only way to go (sorry I don't have a QR reader readily available right now so I can't check your app directly).
Namaste my fellow developers.
I am a rather young developer, who started off with Android and have developed about 10-15 apps till today out of which 2 are up on Google Play.
Just to increase my knowledge and sector I was planning to make a shift into web apps. I did learn Java specifically for Android but want to get my hands on the other platforms as well. So my questions, Sirs and Madams, are:
1.Technically, How is Android and Web Apps different?
2.Should I make the transition?
3.How do i start? (some resources would be helpful)
All and Every feedback would be appreciated. Thank YOU!
hi karantrehan, my two cents on the matter
1. you can think of a web app as a web site running inside an Android Webview, with all its files (html, images, javascripts, css, ...) bundled inside the app. The enclosing app just launches an Activity with a webview, everything else is done by html and javascript (although you can bind java code to javascript function to exploit Android's APIs).
2. It depends: I think web apps are a viable choice in two situations:
you're a web developer that want to build an app without having to learn Android
you want to build a cross-platform app, reaching Android, iOS, WP without learning every single language
Otherwise, I would not advise it, I don't see particular advantages... unless you want to learn something new!
3. for the Android integration part, take a look here: developer.android.com/guide/webapps/webview.html
For the html/css/js part.... well, web development is as old as the web itself, there are tons of guides out there Don't miss some helpful projects like jQuery Mobile.
karantrehan said:
Namaste my fellow developers.
I am a rather young developer, who started off with Android and have developed about 10-15 apps till today out of which 2 are up on Google Play.
Just to increase my knowledge and sector I was planning to make a shift into web apps. I did learn Java specifically for Android but want to get my hands on the other platforms as well. So my questions, Sirs and Madams, are:
1.Technically, How is Android and Web Apps different?
2.Should I make the transition?
3.How do i start? (some resources would be helpful)
All and Every feedback would be appreciated. Thank YOU!
Click to expand...
Click to collapse
1. Web Apps are made using multiple languages. Front-side/Client-side, they are developed in HTML, CSS, and JavaScript. Out of the three, JavaScript is the only programming language. HTML is a markup language, and CSS is used for UI and UX. You could also use the Dart language. Dart is a new client-side language developed by Google. Currently, however, no major browser supports it (not even Google Chrome), and so in the end, it gets compiled into JavaScript.
Server-side (backend), there are a multitude of programming languages you could use. Java (through JSP), PHP, Ruby on Rails, Python. Typically you're using PHP and SQL for anything in regards to a database.
Web Apps can be hosted in a browser, or you can submit them into App Stores using things like Apache Cordava.
2. As a developer of any sort, you should always improve and learn new languages. Its better for marketability, improves your skillset, and overall can make you a better developer. So, in the end, the choice is up to you. I would highly recommend you to do so.
3. There are tons of resources available. You can search for tutorials on google or youtube. When I got started, I used w3schools to learn HTML, CSS, and PHP. I would really recommend using YouTube as well if you are a visual learner like me.
1. Like reProgrammed said, web apps are a bit different in that there's a couple of layers to them as opposed to Android apps. The back-end logic that does your database fetches and such is programmed in PHP, Python, ASP.NET (C#/VB.NET), etc. The front-end website, the pages and stuff you interact with, are done with primarily (X)HTML, CSS, and JavaScript. And for databases you've got SQL Server or MySQL, mainly.
2. Absolutely. I'm a developer myself, professionally and as a hobby, and it's never a bad idea to learn a new language or framework or environment. It'll make you a better developer and can get you jobs, or foot in the door, if that's your profession.
3. I don't really have many resources. However, in the past I've used:
W3Schools
MSDN (for C#)
Stack Overflow
Google
And then there's always books. They can get outdated but they can be great resources. I still sometimes refer to my "Android for Dummies" book when I'm working on my Android app, even though I Google search more often. Hope that helps.