I have been working on a very huge application, and which I want to convert to ember. I have started with Ember CLI with PODs and able to create my own components.
My concern at the moment is the size of the application. Our old app only templates html file are more than 20mb, and so far I have covered 10 to 12 modules and my production JS file size is 850kb +. I need to create at least 200 modules.
I know I can reduce the size by using components and then reusing them, for a module I create using component it increases the size by 25kb to 35kb in production js Now if I multiply 30kb to 150 I got estimated 6mb of a file. This is a rough estimate (as there are much more complex modules which might cross over 100kb for each). Including vendor.js of 1mb and then CSS and other jquery + external library; my initial loading size will cross 8mb (again an assumption)
Here are some of the screenshots from the existing application
- Order Form - With lots of popups for extra charges and partnumbers etc.
- Sales Dashboard - Yearly / Monthly report for each vendor and client
- Loom Report - Each row is individual item, and and when row is clicked it opens the readings by date and attachments with that
- Area Coverage - Where user upload an image and then can see the report of the image, and also can generate a new image for downloading
We already have started developing backend in Laravel and used Simple Auth for login, Ember Data for data communication and PODs for managing files in Ember CLI
I need to know how can I lazy load some of the stuff, as 8mb of JS files is a huge negative where this application will be used as they have low internet speed. Also my app require dynamic tabs for each link, keeping its state and content kept in memory until tab is closed or form is saved. So is that possible in Ember?
Am I on right path? Is Ember my right choice for this application? Shall I create separate app for my complex modules? like order form and production report? What are my options…