Skip to main content

Streamlining the mobile-app development process in the large team scenario

Every time a file gets added to the project, it adds-up an extra latency in the file loading. So minimizing the number of files in the release-build would definitely enhance the performance of the app. Considering this fact, we should have only one stylesheet containing all the styles related to the app.

Though putting everything (style class) in single file would definitely have the following effects
  • Pros: It would make it 
    • compact, 
    • easy to load, 
    • one-time loading 
  • Cons: It would make it 
    • lengthy for manual readability;

Thus we need to make it modular, that means, a separate stylesheet need to be made for each module; which is easy to modify & debug for developers. Each stylesheet should follow the standard guidelines like
  • adding a module-name prior to the style class name, 
  • avoiding id based style class, etc.

To enforce the developers to follow the standard guidelines, we can also use a css generator system. Where developers have to fill up the cells in the sheet/form after which the standard css file gets generated out of it. In our system it would be the css for particular module.

Prior publishing the release-build,
  • we can run a script that can concatenate all the stylesheets into single stylesheet; 
  • this script can compress the file as well if required;
  • the index.html file will be having the link of this single stylesheet only.

Similarly, since we have a definite set of unique screens, so there should be only one html file in the project (aka single-page app). Thus, we can have following benefits:
  • It would reduce the transition time to zero during html page change. 
  • Developers can work on this html file along with that single css file on their desktop browsers like chrome. 
  • Since the Chrome browser comes up with advance debugging tools for developers, so the design and alignment related issues can be resolved in very less time in comparison to using Android IDE. 
  • We can further reduce the JavaScript’s part of html code creation/rendering by adding the html templates in the index.html page only. 
  • The JavaScript only have to deal with logic, control and flow.

This would separate the markup, style and script into separate files without hindering in each other’s zone. So by this we have separated the layout, design and logic into separate divisions. Though the script (logic division) can be further handled with standard MVC frameworks. That would make the project much more simplified and manageable.

Comments

Popular posts from this blog

Unlock protected blocks in Siemens SIMATIC Step 7

Recently I'd been called by Hindalco's Fabrication Plant division to unlock the protected blocks in Siemens SIMATIC Step 7. They were in need to unlock those blocks since an year because of 1 million Rupees of loss per month. They want to re-program those blocks but it was locked by the man who'd done the setup. From the people working in that department, I came to know that they were trying to call that man (someone from Italy) right here but he's not coming. Actually, what he'd done was that he'd locked some of the blocks and deleted the source file. And Siemens didn't provide any feature to unlock. Department people also told me that even the people working in Siemens don't know how to do it. Being a software engineer I know that any thing can be reverse engineered. So I took up the challenge. How did I unlocked the blocks? The first thing I'd done was searched about this software at Google and read about what is this software all about. Aft...

Launching a Jupyter Notebook with TensorFlow using Docker

This article will walk you through setting up a Jupyter Notebook environment with TensorFlow pre-installed using Docker. Docker allows you to run isolated containerized applications, providing a consistent environment regardless of your underlying operating system. Prerequisites: Docker: Ensure you have Docker installed and running on your system. You can download and install it from the official Docker website ( https://www.docker.com/ ). Steps: Start Docker: Open your Docker application (Docker Desktop for Windows/macOS or the command line if using Linux). Run the Jupyter Notebook container: For macOS/Linux: Open your terminal application and run the following command: docker run -it --rm -p 8888:8888 -v "${PWD}":/home/jovyan/work jupyter/tensorflow-notebook For Windows: Open your Command Prompt application and run the following command: docker run -it --rm -p 8888:8888 -v "%CD%":/home/jovyan/work jupyter/tensorflow-notebook Explanation of the command flags: -...

JS: The complete code example of Crypto.js (DES)

For one of the project I was trying to use crypto.js but I found that the Quick-start Guide have some deficiency in terms of library usage. So I am writing it here as a useful note for memory recap. <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/tripledes.js"></script> <script> var encrypted = CryptoJS.DES.encrypt("The secret message", "secret_key"); var e_msg = encrypted.toString(); console.log(e_msg); var decrypted = CryptoJS.DES.decrypt(e_msg, "secret_key"); var d_msg = decrypted.toString(CryptoJS.enc.Utf8); console.log(d_msg); </script>