Smart phones have been used a lot recently; so many people start searching about mobile programming techniques. Moreover a lot of people start to think about working as programmers, which needs learning programming basics and improve it to be more professional.
Programming is based on your knowledge about the mobile operating system, as there are many operating systems like android, YOS, windows, black berry; each of these systems has its own developing unit called “SDK – Service Development Kit” it has some tools with a special programming language, for example android operating system use java language and Google is used to operate java and the same goes for C programming language as it is used to operate Apple operating system.
There are specialized programmers for each operating system, and there are two types of programming, first programming with specific language for a specific operating system and it cannot be changed to be used for another system. Second type is programming with specific language but you can make some changes to be used with another operating system and this is called “Multiplatform programming”.
There are a lot of free solutions available on the web like PhoneGap solutions produced by Adobe. Other companies like Corona SDK, Titanium Appcelerator, Xamarian, large companies use their programs to operate all available mobile systems.
All of these programs are not specialized in designing games, as games has other programming systems to define some charachatristcs like attraction rules. Physical engines is considered to be one of those systems for games programming
A computer with windows operating system is all you need to design, but if you will work for Apple you have to work on Apple computer.
Because of fast technology developing, professional programmers are recommended to always learn and gain new skills.
All what you need is some professional programming programs and to learn technical languages so you will be able to be a professional programmer.