10%

Try : Insurtech, Application Development

Edtech(5)

Events(31)

Interviews(10)

Life@mantra(10)

Logistics(1)

Strategy(14)

Testing(7)

Android(42)

Backend(28)

Dev Ops(2)

Enterprise Solution(20)

Frontend(28)

iOS(39)

Javascript(13)

AI in Insurance(25)

Insurtech(57)

Product Innovation(34)

Solutions(13)

Augmented Reality(7)

Customer Journey(7)

Design(6)

User Experience(21)

Artificial Intelligence(94)

Bitcoin(7)

Blockchain(14)

Cognitive Computing(7)

Computer Vision(6)

Data Science(13)

FinTech(41)

Intelligent Automation(25)

Machine Learning(43)

Natural Language Processing(10)

LAMP/MEAN Stack: Business and Developer Perspective

Currently, there are more than 1.73 billion active websites in the world, according to Internet Live Stats. Every second a new website is being created. Creating a website seems simple, but launching a website that serves some specific business purpose is tricky. When business owners approach application/web developers, they encounter jargon like LAMP/MEAN, backend/frontend, DevOps, and many more. In such scenarios, a person not accustomed to web development will either go with his instincts or the developer’s instincts or maybe cost.

Growing number of websites.

To avoid such situations here is an easy-to-understand description of the LAMP stack and MEAN stack along with their best use and related FAQs.

What is LAMP Stack?

Lamp Stack is a bundle of web development software – Linux, Apache, MySQL, and PHP. This is the foundational stack where MongoDB and Python can replace MySQL and PHP, respectively.There are four distinct layers under this architecture. Linux is the operating system and all other software applications run on top of this layer. Apache is the web server software responsible for connecting web browsers to the correct website. MySQL is the database to store, retrieve, and update data based on input queries. Finally, PHP is the web programming language. Websites and web applications run on this layer.

The Lamp Stack architecture

What is MEAN Stack?

The MEAN stack comprises MongoDB, ExpressJS, AngularJS, and Node.js. It is an open-source javascript-based software stack useful for developing dynamic web applications. Here, JSON (Javascript Object Notation) storage has completely replaced the database layer. JSON is lightweight, easy to understand, and is widely used for storing and transporting data from server to web page. 

The components of MEAN Stack-

MongoDB is a NoSQL database system. It is a cross-platform, document-oriented database program. Express is a framework to build web applications in Node. AngularJS provides a framework for frontend development with features like two-way data binding. Node.js provides a server-side javascript execution environment. 

The MEAN Stack architecture

LAMP vs MEAN : Which is Better for Startups/Businesses?

LAMP has been in use for decades and many sophisticated applications are built using LAMP stack. MEAN is relatively new, but is considered as one of the best technology stacks for developing mobile applications. However, which one to select totally depends upon the type of web application you want to build. 

LAMPMEAN
ScalabilityLAMP’s limiting factor is MySQL. During more requests, it creates a bottleneck. I.e. if there is high concurrency, MySQL fails to perform. MySQL works well when there’s a low write/read ratio. MEAN scales all the layers of frontend, backend, and database. MongoDB supports auto sharding and auto-failover. When the data on one node exceeds the threshold, MongoDB automatically rearranges the data to evenly distribute the data. 
PerformanceHorizontal scaling is not easy and high transaction loads (millions of read/write) seriously affect the performance.MongoDB is very fast, but it achieves its performance by trading off consistency (in clustered setups). Thus, MongoDB is great when you need speed and flexibility in your model and can accept minor (and relatively infrequent) data loss.
SecurityLAMP is a secure and stable platform. However, because of different client and server codebases, security is uncompromised in LAMP.MEAN is a secure and stable platform.
PrivacyLAMP applications are mostly native. Therefore, there are negligible privacy issues.Because of privacy concerns, many users disable javascript on their browser. This might break a MEAN application, since it is completely dependent on Javascript.
For example, apps like facebook cannot function properly if the user has disabled the javascript.
DevelopmentYou might require a full-stack developers team for developing an application on LAMP. For instance, you’ll need a javascript expert for frontend and PHP/Perl/Python expert for the backend. LAMP also features multiple layers of navigation with various configuration files and differing syntax.A team of javascript experts can develop end-to-end applications on MEAN.
CostLAMP might cost you more as it requires different specialists for frontend and backend development.Application development in MEAN is cheaper as you won’t need different specialists.However, the cost depends on the complexity of the project.

In short, LAMP is best for developing APIs, simple websites, and e-commerce sites. Whereas MEAN is most suitable for Tech-heavy startups, GUI focused Apps and developer teams who are proficient in javascript only.

LAMP/MEAN : What Developers Prefer?

For web applications, there are full-stack developers and MEAN stack developers. Developing an application in LAMP requires a team of developers knowing different frontend and backend technologies and/or full-stack developers. MEAN stack developers require expertise in javascript and because all other components of MEAN are compatible with JS, it is comparatively easier to develop web and mobile applications. 


LAMPMEAN
Difficulty to learnLAMP or full-stack developers need to be familiar with all the layers of web development. MEAN developers require proficiency in programming techniques like javascript and HTML and knowledge of Node.js, Express, MongoDB, and AngularJS.
TeamsIt can be challenging to switch teams in LAMP. Using javascript for both frontend and backend development provides a homogenous workflow. Thus, teams can switch from frontend to backend development and vice versa easily.
PerformanceDeveloping native applications work well on older browsers and mobile devices.MEAN applications with javascript heavy frontend might not perform in the second-world countries, where internet speed and devices are not robust.
LibrariesLAMP’s library is more mature with a number of functions to make backend development easier. For example, the REST library.
UI
UI-focused apps are easy to build in MEAN and are more intuitive. 
DatabaseYou might face scalability concerns with MySQL database.Although it is fast and capable of dealing with large databases, MongoDB is not the best platform for developing apps with complex transactions. 

Also read – 7 Ways to boost AngularJS applications!

Wrapping Up

MEAN stack mostly includes front end development components while LEAN stack comprises backend tools. You won’t find an operating system reference in MEAN, but, in fact, most MEAN applications are developed on Linux. Thus, we can say — LAMP refers to a more low-level development environment and MEAN to the high-level environment. 

It is also possible to modify the technology stacks in both LAMP and MEAN. For instance, you can use MongoDB or Cassandra with other components of LAMP. Some applications can have both stacks — LAMP for the API and MEAN for GUI. Moreover, both software stacks are compatible with the cloud. Therefore, depending on the project you can choose between the two.

We at Mantra Labs frequently encounter the client’s dilemma regarding the choice of LAMP/MEAN stack. Hopefully, this blog clarifies the myths and mysteries encircling these platforms.

Cancel

Knowledge thats worth delivered in your inbox

8 Best Ways to Reduce Android App Size

5 minutes, 29 seconds read

With the increase in mobile storage spaces that have gone up to 256 GB, app size is also growing. App size is sure to grow as developers are adding new features, trying to meet customer needs, and also trying to support their apps on various screen sizes. Around 74% of the world uses Android, and 70% of users consider app size before installing them. Moreover, as humans are getting accustomed to instant gratification, they ponder on ways to download apps as they take up storage spaces. Despite the cloud support for photos, videos, and files, android users face issues, such as mobile hanging due to app size. As customer expectations are increasing, android app developers are considering other ways to reduce app size while still incorporating significant additional features and keeping in mind the customer experience.

Below are the 8 best ways to reduce android app size:

1. Use Android App Bundle to Reduce App Size

When generating the release version of your app, you can choose between APK and Android App Bundle.  The second option will make Google play to generate the APK with only those features a specific user need. 

Use Android App Bundle

App Bundle Vs APK

Android App Bundle

  • It is a publishing format that includes compiled code and resources of your app, and delays APK generation and signing to Google Play.
  • With Android App Bundles, the compressed download size restriction is 150 MB. The app bundle cannot be used with APK expansion files.
Android App Bundle
Important: In the second half of 2021, new apps will be required to publish with the Android App Bundle on Google Play. New apps larger than 150 MB must use either Play Feature Delivery or Play Asset Delivery.

How to build android app bundles?

To build app bundles, follow these steps:

  1. Download Android Studio 3.2 or higher—it’s the easiest way to add feature modules and build app bundles.
  2. Add support for Play Feature Delivery by including a base module, organizing code and resources for configuration APKs, and, optionally, adding feature modules.
  3. Build an Android App Bundle using Android Studio. You can also deploy your app to a connected device from an app bundle by modifying your run/debug configuration and selecting the option to deploy APK from app bundle. Keep in mind, using this option results in longer build times when compared to building and deploying only an APK.
  4. If you’re not using the IDE, you can instead build an app bundle from the command line.
  5. Test your Android App Bundle by using it to generate APKs that you deploy to a device.
  6. Enroll into app Play App Signing. Otherwise, you can’t upload your app bundle to the Play Console.
  7. Publish your app bundle to Google Play.

Please note: Android Package Kit – As per developer console, by the mid of 2021, developers won’t be able to upload apk on play store)

  • Android operating system uses APK which is the package file format for distribution and installation of mobile apps, games and middleware. APK is similar to other software packages such as APPX in Microsoft Windows or a Debian package in Debian -based operating systems.
  • Google Play requires that the compressed APK downloaded by the users should not exceed 100 MB.
  • The expansion files for your app are hosted by Google Play which serves them to the device at no cost to you. The expansion files are saved to the device’s shared storage location (the SD card or USB-mountable partition).

2. Use Proguard

Proguard is probably one of the most useful tools to reduce your APK size. It reduces the source code files to a minimum and can reduce the APK file size upto 90%.

  • Use it in all variants whenever using “Proguard”
  • Helps to avoid conflict at the of generate apk or bundle if will use in all the variants.
  • We cannot let ProGuard rename or remove any fields on these data classes, as they have to match the serialized format. It’s a safe bet to add a @Keep annotation on the whole class or a wildcard rule on all your models.

3. Use Android Size Analyzer Plugin

This Android Studio plugin will provide you recommendations to reduce the size of your application.

With the APK Analyzer, you can accomplish the following:

  • View the absolute and relative size of files in the APK, such as the DEX and Android resource files.
  • Understand the composition of DEX files.
  • Quickly view the final versions of files in the APK, such as the AndroidManifest.xml file.
  • Perform a side-by-side comparison of two APKs.

There are three ways to access the APK Analyzer when a project is open:

  • Drag an APK into the Editor window of Android Studio.
  • Switch to the Project perspective in the Project window and then double-click the APK in the default build/output/apks/ directory.
  • Select Build > Analyze APK in the menu bar and then select your APK.

More details at: Jetbrains

4. Optimize Your App’s Resources

Whether used or not, every resource takes up memory. It is therefore necessary to have only those resources that you need, and to use those in a memory efficient way. In other words, you should consider the resolution of the image before finalizing on it.

5. Optimize Libraries

As large libraries consume huge amounts of space, it is advisable to remove parts of it in case you do not need them and if it is permitted by the license of the library. Proguard can aid you in this process but it is not always able to remove large internal dependencies.

6. Use Vector Graphics Wherever Possible

They are sharp and do not consume much space as they rely on mathematical calculations and not on pixels that need to be saved. However, they cannot be used for photography.

7. Compress Your Images

By using tools such as pngcrush, you can reduce the file size of PNG images. It is advisable to do this images as they still look the same. 

8. Only Support Specific Densities

If only a small portion of users use a specific density, it might be better to let Android scale your other densities for them as it would reduce your APK size.


As mobile storage space is growing, people are installing a large number of apps to meet a wide range of needs. But as app size is increasing, people are continuing to struggle with storage issues. With provisions such as Proguard, one can compress the APK file size and optimize libraries easily. Compressing images and using vector graphs are also useful in reducing app size.

About the author: Anand Singh is Tech Lead at Mantra Labs. He is integral to the company’s Android-based projects and enterprise application development.

Further Reading:

Cancel

Knowledge thats worth delivered in your inbox

Loading More Posts ...
Go Top
bot

May i help you?

bot shadow

Our Website is
Best Experienced on
Chrome & Safari

safari icon