- Technologies
- Development OS
- IDE
- Coding Conventions
- Test-Driven Development
- Preferred Libraries
- Best Practices
- Design And Markup
- Search Engine Optimization
- Google Analytics & other third-party services
- Useful Links
- Node.js v6.x.x (LTS)
- npm package manager for Node.js (deprecated; using in support projects)
- yarn package manager for Node.js
- bower package manager for web development (deprecated; using in support projects)
- AngularJS 1.5.х as main framework (deprecated; using in support projects)
- Angular 5.x.x as main framework
- Pug - HTML template engine
- Stylus - CSS preprocessor
- Gulp - streaming build system (deprecated; using in support projects)
- Webpack 2.x.x - JavaScript module bundler
- Babel - JavaScript compiler
- TypeScript 2.x.x - optional types, classes, and modules to JavaScript
We don’t use Windows as OS for development machines. We use latest Mac OS X or Ubuntu/Debian (long-term support releases are preferred).
- WebStorm (not required)
- JavaScript Style Guide
- Angular 1.x style guide (good article)
- Angular 4.x style guide
- Stylus style guide
Use these frameworks:
- EventEmitter
- Underscore / lodash
- ui-router 1.x - routing in AngularJS
- ng-file-upload 12.x.x - Angular directive to upload files
- Keep in mind that desktop web site is not a mobile app
- Keep in mind 300 milliseconds
onClick
delay in mobile devices' browsers
Web sites that we develop should be responsive and adaptive by default.
Screen sizes:
- Desktop min size: 1024x768
- Mobile min size: 320x480
We support these web browsers:
- Internet Explorer 11+
- Latest Google Chrome
- Latest Apple Safari
- Latest Mozilla Firefox
This section is not finished yet.
- Properly setup
robots.txt
file. See robotstxt.org - Generate
sitemap.xml
file. See sitemaps.org - Use prerender.io
- Use tags:
h1...h6
,p
,meta
,title
etc.
Create separate third-party service ID constant for each environment (development, staging, production). Keep constants files out of repository.
Google Analytics:
- Test account - [email protected] (see on MLSDev Articles / Accounts) - create app google analytics for staging and development servers.
- Production account is to be provided/created by/for client
- Frontend Dev Bookmarks - a LOT of useful links
- Material Design Icons
- AngularJS API Reference
- W3C
- ngmodules.org - find modules for AngularJS
- The Twelve-Factor App