Submit Your Article Forum Rules
Results 1 to 2 of 2

Thread: Mobile application development in assembly

  1. #1
    WebProWorld MVP kgun's Avatar
    Join Date
    May 2005

    Question Mobile application development in assembly

    1. Platform explosion.

    More and more smart phones and notepads come on the market each year. iPhone 5 was released some days ago and Windows 8 and Windows Phone 8 is expected at the end of the year or early next year.

    2. Why assembly?

    Apple use iOS, Google Android and Microsoft Windows Phone as the operating system. The development language for Apple platforms is Objective C, C# for the windows phone and Java for the Android platform. Some (that don't know assembly well enough) claim that todays compilers produce so efficient and optimal code that assembly is not needed. But there are things that can be done in assembly that is not (easily) possible in higher level languages. Human beings can see patterns in assembly instructions of a program that a compiler may not see. Then human beings can improve efficiency and speed dramatically. On mobile platforms where every byte and clock cycle count this is important.

    3. The application (app) revolution

    Today, it seems that every serious company supply an app that can be downloaded and installed on your mobile device. Good programmes may get a well pay by delivering applications that are sold on Apple Store or Windows Phone marketplace. Smart phones are now so powerful computers that much of a companys infrastructure can be stored on an iPhone, Windows Phone etc.

    4. The easy days of assembly on Intel processors (computers).

    Personal computers and Intel processor wasrelatively easy to program in assemby. Intel delivered good manuals to their family of processors with clear listing, explanation of each instruction and good examples of how to use the assembly instruction. Today the situation is much more complex and fuzzy with so many producers and platforms. Some companies will not allow application developers access to the assembly of the processor that is used in the device. Personally, I have not seen a book or manual of the assembly instruction set of a mobile device. Does anybody know of any?

    5. Closed for ever or more and more open?

    It is said that it is to early to know the futere, so I end this post with the following questions:
    1. Will it be possible to develope applications in assembly on mobile devices?
    2. Is it a waste of time to learn and program in assembly generally and especially on mobile devices?
    3. Will openess in the sense that manuals and assembly instruction sets are delivered to the application developer pave its way or will assembly access to the prosessor be closed for ever?

    Links to other articles or forum threads (in Norwegian):

    Last edited by LD; 10-06-2012 at 06:57 AM. Reason: modified as per member's request
    Hidden Content :: Hidden Content
    Hidden Content
    Conversations creates communities and conversions create profit.

  2. #2
    WebProWorld MVP DaveSawers's Avatar
    Join Date
    Dec 2006
    Lunenburg, Nova Scotia, Canada
    I recently went to a debate in Calgary #momoyyc about whether we should program apps natively (using the tools provided, not in assembly) or just use HTML5 so they're ultimately portable.

    And the answer depends on what you're trying to achieve. For developers like me targeting apps at a relatively small engineering market and using servers to do the heavy lifting computing, HTML5 usually is the best choice for balancing between portability, cost and utility.

    For some app developers, I'm sure that the increases in performance you could get using assembly would be worth the cost of learning it and the pain of programming in it. I'm not sure the manufacturers have much to gain by allowing it though. They're probably more interested in selling you a more expensive, faster phone.
    Dynamic Software Development
    Hidden Content

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts