{"id":1128,"date":"2013-12-29T18:47:36","date_gmt":"2013-12-29T13:17:36","guid":{"rendered":"https:\/\/www.innovationm.com\/blog\/?p=1128"},"modified":"2014-01-31T13:06:27","modified_gmt":"2014-01-31T07:36:27","slug":"sencha-touch-and-ext-js-best-architecture-design-and-coding-practices","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/","title":{"rendered":"Sencha Touch and Ext JS &#8211; Best Architecture, Design and Coding Practices"},"content":{"rendered":"<p style=\"text-align: justify;\">We have identified some of the best practices that we need to follow while working on architecture, design and development of Sencha Touch and Ext JS applications. We will keep on adding more and more to it. Stay tuned&#8230;<\/p>\n<h1 style=\"text-align: justify;\"><span style=\"color: #3366ff;\">Best Coding Practices<\/span><\/h1>\n<h2 style=\"text-align: justify;\">Nesting of Function calls (Avoid it)<\/h2>\n<p style=\"text-align: justify;\">Avoid nesting of function calls. This degrades the code readability and impacts performance.<br \/>\nEx.<br \/>\n<span style=\"color: #ff0000;\">Incorrect<\/span><br \/>\nstore.getProxy().setExtraParam();<\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #339966;\">Correct:<\/span><br \/>\nvar proxy = store.getProxy();<br \/>\nproxy.setExtraParam();<\/p>\n<p style=\"text-align: justify;\">In the above example, if proxy object has to be used again in the same function then we already have access to that object. No need to call store.getProxy() again. This improves performance.<\/p>\n<h2 style=\"text-align: justify;\">Message key naming convention<\/h2>\n<p style=\"text-align: justify;\">1. Validation Messages<br \/>\nMSG_VALIDATION_NAME_REQUIRED = &#8216;Name is Required&#8217;<\/p>\n<p style=\"text-align: justify;\">2. Task In Progress Messages<br \/>\nMSG_PROGRESS_CREATE_USER = &#8216;Creating User&#8230;&#8217;<\/p>\n<p style=\"text-align: justify;\">3. Confirmation Messages<br \/>\nMSG_CONFIRM_DELETE_USER = &#8216;Do you want to delete user?&#8217;<\/p>\n<p style=\"text-align: justify;\">4. Global<br \/>\nMSG_VALIDATION_ALERT_TITLE = &#8216;Check Data&#8217;<br \/>\nMSG_CONFIRM_ALERT_TITLE = &#8216;Confirm&#8217;<br \/>\nMSG_FAILURE_SERVER =\u00a0&#8216;There is an unexpected problem. Please try again.&#8217;<br \/>\nMSG_TITLE_FAILURE_SERVER = &#8216;Unexpected Error&#8217;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We have identified some of the best practices that we need to follow while working on architecture, design and development of Sencha Touch and Ext JS applications. We will keep on adding more and more to it. Stay tuned&#8230; Best Coding Practices Nesting of Function calls (Avoid it) Avoid nesting of function calls. This degrades [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":1191,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[120,108,71,6,58],"tags":[121,167,161,105,163],"class_list":["post-1128","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ext-js","category-html5-css-js","category-mobile","category-mobile-web-app","category-sencha-touch","tag-best-practices","tag-ext-js","tag-mobile-web-app","tag-sencha","tag-sencha-touch"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sencha Touch and Ext JS \u2013 Architecture, Design, Coding | InnovationM Blog<\/title>\n<meta name=\"description\" content=\"Some of the best practices that we need to follow while working on architecture, design and development of Sencha Touch and Ext JS applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sencha Touch and Ext JS \u2013 Architecture, Design, Coding | InnovationM Blog\" \/>\n<meta property=\"og:description\" content=\"Some of the best practices that we need to follow while working on architecture, design and development of Sencha Touch and Ext JS applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-12-29T13:17:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-01-31T07:36:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/12\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png\" \/>\n\t<meta property=\"og:image:width\" content=\"624\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Manish Seth\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Manish Seth\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/\"},\"author\":{\"name\":\"Manish Seth\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/03f59a9465a9f03b551985392f877ae8\"},\"headline\":\"Sencha Touch and Ext JS &#8211; Best Architecture, Design and Coding Practices\",\"datePublished\":\"2013-12-29T13:17:36+00:00\",\"dateModified\":\"2014-01-31T07:36:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/\"},\"wordCount\":183,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/12\\\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png\",\"keywords\":[\"Best Practices\",\"Ext JS\",\"Mobile Web App\",\"Sencha\",\"Sencha Touch\"],\"articleSection\":[\"Ext JS\",\"HTML5 \\\/ CSS \\\/ JS\",\"Mobile\",\"Mobile Web App\",\"Sencha Touch\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/\",\"name\":\"Sencha Touch and Ext JS \u2013 Architecture, Design, Coding | InnovationM Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/12\\\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png\",\"datePublished\":\"2013-12-29T13:17:36+00:00\",\"dateModified\":\"2014-01-31T07:36:27+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/03f59a9465a9f03b551985392f877ae8\"},\"description\":\"Some of the best practices that we need to follow while working on architecture, design and development of Sencha Touch and Ext JS applications.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/12\\\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/12\\\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png\",\"width\":624,\"height\":250,\"caption\":\"InnovationM Sencha ExtJS Best Architecture Design Coding Practices\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sencha Touch and Ext JS &#8211; Best Architecture, Design and Coding Practices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"InnovationM - Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/03f59a9465a9f03b551985392f877ae8\",\"name\":\"Manish Seth\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a5ed7a8bee434c0f1b851face1f5c946c36929374fd4627a3fc3958d67517eff?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a5ed7a8bee434c0f1b851face1f5c946c36929374fd4627a3fc3958d67517eff?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a5ed7a8bee434c0f1b851face1f5c946c36929374fd4627a3fc3958d67517eff?s=96&r=g\",\"caption\":\"Manish Seth\"},\"sameAs\":[\"http:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/manish-seth\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sencha Touch and Ext JS \u2013 Architecture, Design, Coding | InnovationM Blog","description":"Some of the best practices that we need to follow while working on architecture, design and development of Sencha Touch and Ext JS applications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/","og_locale":"en_US","og_type":"article","og_title":"Sencha Touch and Ext JS \u2013 Architecture, Design, Coding | InnovationM Blog","og_description":"Some of the best practices that we need to follow while working on architecture, design and development of Sencha Touch and Ext JS applications.","og_url":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/","og_site_name":"InnovationM - Blog","article_published_time":"2013-12-29T13:17:36+00:00","article_modified_time":"2014-01-31T07:36:27+00:00","og_image":[{"width":624,"height":250,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/12\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png","type":"image\/png"}],"author":"Manish Seth","twitter_misc":{"Written by":"Manish Seth","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/"},"author":{"name":"Manish Seth","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/03f59a9465a9f03b551985392f877ae8"},"headline":"Sencha Touch and Ext JS &#8211; Best Architecture, Design and Coding Practices","datePublished":"2013-12-29T13:17:36+00:00","dateModified":"2014-01-31T07:36:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/"},"wordCount":183,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/12\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png","keywords":["Best Practices","Ext JS","Mobile Web App","Sencha","Sencha Touch"],"articleSection":["Ext JS","HTML5 \/ CSS \/ JS","Mobile","Mobile Web App","Sencha Touch"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/","url":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/","name":"Sencha Touch and Ext JS \u2013 Architecture, Design, Coding | InnovationM Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/12\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png","datePublished":"2013-12-29T13:17:36+00:00","dateModified":"2014-01-31T07:36:27+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/03f59a9465a9f03b551985392f877ae8"},"description":"Some of the best practices that we need to follow while working on architecture, design and development of Sencha Touch and Ext JS applications.","breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/12\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2013\/12\/innovationm-sencha-extjs-best-architecture-design-coding-practices.png","width":624,"height":250,"caption":"InnovationM Sencha ExtJS Best Architecture Design Coding Practices"},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/sencha-touch-and-ext-js-best-architecture-design-and-coding-practices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Sencha Touch and Ext JS &#8211; Best Architecture, Design and Coding Practices"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"InnovationM - Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/03f59a9465a9f03b551985392f877ae8","name":"Manish Seth","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a5ed7a8bee434c0f1b851face1f5c946c36929374fd4627a3fc3958d67517eff?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a5ed7a8bee434c0f1b851face1f5c946c36929374fd4627a3fc3958d67517eff?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5ed7a8bee434c0f1b851face1f5c946c36929374fd4627a3fc3958d67517eff?s=96&r=g","caption":"Manish Seth"},"sameAs":["http:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/manish-seth\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/1128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=1128"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/1128\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/1191"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=1128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=1128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=1128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}