“There is a point in your programming career, when you realise that there isn’t a best tool”.
“The best tools are the ones you know well and can gain more value from”.
- Inspiration: https://dribbble.com , https://www.behance.net/
- Branding.
- Logo,
- Font.
- Web design (Photoshop , Adobe etc)
- Media Production
- Optimize Images (Imagemagick)
- Imagemagick (https://www.imagemagick.org/script/index.php)
- Optimize Media (Video and Audio) (https://ffmpeg.org/)
- Semantic HTML + Metadata
- Manifest.json
- Efficient and supported CSS (auto-prefixer)
- Use light ads Cross browser / device support
- Desktop,
- Tablet,
- Phone,
- Watch,
- Game Console,
- Chrome Extension,
- VR,
- Offline first using service worker or cache manifest file
- Uses environmental variables
- Native notifications for successful builds
- State Management / Offline State
- Manifest.json file
- Different env files so that you don’t have to keep manually porting CLI arguments
- Sitemap
- Responsive Design
- Gesture support
- Retina based Fonts
- JS Linters
- Editorconfig for development
- Enhanced User experience
- Progressive enhancement and graceful degradation
- Beautiful fonts
- Push Notifications
- Native device interaction.
- Server side detection where possible
- Optimized static assets (concatenation. minification and gzip compression)
- In memory database for development
- Migrations
- Whitelisting / blacklisting
- Development and production environments / builds
- Unit and behavioural tests
- Continuous deployment / integration strategy
- Component based architecture on the frontend for reusability.
- Microservices architecture for backend services.
- Scalable microservices for increased loads.
- Caching on both the client and server.
- Load testing.
- Stress Testing (JMeter) Application profiling for bottlenecks
- Security https://github.com/OWASP/Top10/raw/master/2017/OWASP%20Top%2010%20-%202017%20RC1-English.pdf (OWASP Top 10 2017) SSL HTTP V2 - Docker