Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.

Revision as of 10:30, 9 May 2013 by hamishwillee (Talk | contribs)

Developer guidelines for new Nokia Asha Web Apps runtime proxy server release

From Wiki
Jump to: navigation, search

This article provides information about the new Nokia Asha Web Apps Runtime Proxy server release.

Article Metadata
Created: isalento (16 Apr 2013)
Last edited: hamishwillee (09 May 2013)

Attention, Series 40 web app developers: An updated runtime proxy rendering engine on our servers rolled out last week. The new server release has some implications for your future development efforts. This update features Mozilla's 'Gecko' browser engine and will improve the layout and JavaScript processing of the web app content. The updated engine has significant improvements in terms of performance and capabilities compared to the 'Rhino' engine it replaces. The new engine also complies strictly with the W3C standard, and offers more stability and compliance with other standards, including HTML5 and CSS3.

Here are five new developer guidelines for your web apps:

  • Series 40 web apps supports a single html document only even in the previous release. However some developers used some workarounds and made multiple html documents in a web app. These workarounds will not work with the updated engine.
  • element.innerText is no longer supported. Instead, you should use element.innerHTML
document.getElementById('el').innerText="Hello World";  // not supported
document.getElementById('el').innerHTML="Hello World"; // correct way
  • mwl.timer is always preferred over native JavaScript timer. The latter expires at the server, and so may not be useful to you.


//Do Not use. This timer will expire at server only.
setTimeout("functionName()", 3500);
//Use Instead. This timer will expire at client side
  • Use either <body onload="init()"> or JavaScript window.onload=function(){...};, but not both. If mwl API needs to be called in an onload event, then 'body onload' is preferred.
  • When using the <form> tag without action attribute, <input type="button"> should be used. Use of <input type='submit'> is only allowed when form has an action attribute with an absolute URL.


<!-- Do Not Use -->
<form id="fid" name="fbform"> feedback<br/>
<input type="text" name="tb" id="tb"/><br/>
<input type="submit" value="Send" name="pb" id="pb" onclick="validate();"/>
<!-- Use Instead -->
<form id="fid" name="fbform"> feedback<br/>
<input type="text" name="tb" id="tb"/><br/>
<input type="button" value="Send" name="pb" id="pb" onclick="validate();"/>
99 page views in the last 30 days.