Interesting Article: Android in C# - Motorola Droid X2

Thanks to kenjesse from the #cm7dx2 IRC channel (who uses the same name on XDA), I found out about a really interesting article. I am not a developer and hence my understanding of the article is limited, but from what I gather it is about porting Android to C# from Java, by a start up company, and in the process they observed substantial performance gains in Android, thanks primarily to the better efficiency and optimization of C# over Java, as per the claims of the article! :O Note that this is not the primary intent of the company and is merely a side project they worked on out of interest, and they released the source code and relevant tools so that others can tinker with it!
Read on here to learn more: http://blog.xamarin.com/2012/05/01/android-in-c-sharp/
May be a dev can understand this better.

Related

[Q] Android vs. Linux/OS Development Resources

Hi guys. I hope this is the right place for this question. I'd rather have put it in the development forum, since I expect more devs frequent it than here, but I'm not sure it would be appropriate.
I will be writing a paper for an Operating Systems class looking at the Android OS. Specifically, I intend to compare it with Linux, giving consideration to the optimizations that were made for developing it as a mobile platform. I would like to also incorporate some analysis of the source code. This would likely include compiling a kernel from the source and probably installing some variant of it. I do not have any experience with OS/ROM development but I do have a decent amount of programming experience.
I would like to know if anyone has any favorite resources on the web, or even print, on this topic that would qualify as "academic." Unfortunately, this means forums and wikis are out. As far as I can tell, resources on this topic are scarce—or maybe I'm just not looking in the right place. I would appreciate any input I can get.
Thanks in advance!
bump
10 char
You could browse around here: http://developer.android.com/resources/index.html.
Android is Linux with Google's user space running on top of it. If you're just doing OS-level comparisons, it should be a pretty short report.
Google adds a very small number of things to the kernel, like wake-locks, but those are (allegedly) getting phased out in favor of "native" constructs.
I guess it would be more appropriate to say I'm interested in OS engineering rather than development for the OS, dealing particularly with the kernel.
Are there no major modifications done to the Linux kernel in such respects as scheduling, memory management, paging algorithms, I/O, etc. to optimize for mobile devices? I can't seem to find much that actually discusses how these are implemented in Android. For example, I am aware that there are apps that allow us to change the scheduler: are these just toggles for stock Linux code implementations?
There are a bunch of device drivers, obviously, but the only real kernel changes have to do with something called "wake-locks", which are a specialized form of locking that allow applications to prevent the phone from going to sleep. And one of the Linux kernel guys has demonstrated how an existing construct can be used to the same effect. Google has tried (with varying degrees of enthusiasm) to try and get their stuff integrated back into the kernel because anything _not_ in the kernel is a lot more work to maintain.
Right now, the kernel ARM maintainers are working on improving device management on ARM (currently, there's not much reuse, resulting in a dozen or so different drivers for some common IP blocks), which is a cause near-and-dear to Google's (well, Google's-phone-making-partner's) heart, so Google is probably going to try to avoid doing anything seriously incompatible.
Thanks for the info. I guess Android will have to sit this one out then.

[Q] Chipset optimization incentives for developers

Hi all,
First time posting, I’ve been digging through the search but am unable to find a thread covering this topic (apologies if I missed something). I’m interested in finding out more about how chipset manufacturers incentivize developers to optimize for their platforms. I’m thinking specifically about programs like NVIDIA’s TegraZone or Qualcomm’s Game Command, where apps (games in these instances) are optimized or exclusive to the chipsets. The company sites have a lot of developer resources, but are pretty cagey about specific incentive programs. If anyone has experience with this sort of thing and could answer any of the questions below it would be greatly appreciated.
-Is there financial compensation involved? Is development being funded (partially or fully) by these providers?
-Are they offering development resources beyond what’s widely available on their developer portals? Are they providing hands-on support from engineers or devs?
-Is it a merely a function of the extra visibility garnered through the programs?
It seems like optimizing for a specific chipset would be tough given time and resource constraints, so I’m interested in learning more about what goes into the decision to do so. Do the have different programs targeting large and small developers? I’m especially interested to hear from anyone that could elaborate with personal experience or specific examples.
Thanks!
Anybody have experience with this?

What language should i learn to have the highest chance of working remotely

This question has been on my mind for some time.
I'm a Business Informatics student (first year) and was wondering what language should i learn for my specific goals. In the second year i will get introduced to c and c++ and in the third year to php and frond-end scripting languages and UI design.
My question, in accordance with my specific goals , is : what language would give me the highest chance to work remotely (internationally) for a USA/AUS/Canadian employer as a junior with no formal work experience? I'm refering to stable employment as a remote contractor for a company.
It is important to note that i live in Eastern Europe. I've done some reasearch on the legal part and concluded it will not be a problem as i do not plan to live in the USA and will be contracting or making my own limited company, i also plan (not set in stone) to work only for a few years [until that experience and savings will afford me the means to maybe start my own company (not limited) here]
I had two options in mind : php and java (android-eclipse).
PHP because is the only language i've seen job ads for hiring junior devs internationally and i understand it takes less time to learn and be employable, though my perception is that the maket is saturated with php developers ...
I expect the field will be even more saturated until i will get enough experience to enter it. Another disadvatage is the low pay in comparison to desktop development (also apperent in my country).
In my view, the advantages of php are that you can work independently on a product , going through all the development cycles independently (alone) and thus the probability that i can work remotely is higher as i do not need to be part of an office team.
I do not want to use java (asides from android development) for just that reason. It's mostly used by big companies that use big teams and will only accept experience contractors provided by consulting firms.
My perceptions about android development is that there is more demand than supply on this market , you can , again go through the development cycles alone and that it has a higher entry barrier (java is harder and is harder to become a java dev. without formal education, it takes more time to learn etc.), making it less saturated.
The data i have from 2012 suggests a huge demand for mobile devs , though it does not differentiate between technologies and i do not know if the data is still valid today , as the mobile market is a volatile one.
A thing i do not know is if it's practiced by app developing companies/employers in general to hire junior devs remotely , long-term and i wonder about the future of apps.:
How much math would i need to know to be a android developer ? I assume it's mostly used in 3D and physics engine , though i do not know if the future will become 3d oriented as far as games go. I'm not a big fan of math, so i need to know how much math will i be getting into. I plan to do mostly 2d development (if that's possible).
The last questions are about time and experience.
How much time will it require for me to become an employable (remote) entry-level php developer and likewise a entry level android developer?
How much difference is between chances of employment as a entry level php dev vs an entry level android dev for employers using those technologies?
I'm scared that the companies that usually hire android devs want people who already had some formal job for some time (1-2-3 years) [it's that way for java], like i said the only (very few) jobs that accepted entry-level people remotely where php jobs.
You are welcome to suggest any language, but please discuss the reasoning .
Sorry for the amount of info and questions, but this has been on my mind for some time now and i decided , based on some lurking and recommandations that this is the place that can help me in this regard.
Thanks in advance.

Calling in developer for game development

I have a startup and I have been developing games. I have a different business plan for my company and so calling in developers for the same. The opportunity and privileges are different from normal companies. We will learn together and make games.
For the recruitment purpose we have the following criteria.
1)Prior moderate programming knowledge is a must.
2)We will be using unity as a game engine so basic experience is required.
3)Knowledge about version control system.
4)Determination. Loyalty. Passion.
If you think you fill the above criteria and are interested , then message me on xda for further conversation.
Thanks.
{CEO-Space Endeavours, The space dev mag www.thesdnmag.com
Past: Dev @ www.xlabsgaze.com }

Online colleges or bootcamps?

I am looking to get into mobile app development. I'm currently a developer on the mainframe (4 years). I don't have any experience in object oriented programming but I believe I have a decent foundation of programming logic and data structure. I am torn between going to an online college or just doing a boot camp. What are your experiences? Thank you
Coding bootcamps focus on training people for a specific type of programming job (normally full-stack web programming). Most bootcamps teach some general programming along with specifics of the latest web-programming technologies (e.g., mean stack) and the latest team-work styles (e.g., agile development, pair programming).
So in my opinion coding bootcamps will help you more in the longterm.

Categories

Resources