I’m writing a book called ‘Smart Meteor’, walking users through the process of creating a Meteor application ready for production from start to finish. I want to know what you would like to see in it, here’s what I have so far:
There are plenty of guides out there that teach Meteor development, but none that teach the real world process of actually creating an app from start to finish and getting it ready for the challenges of production. There is so much more to app creation, from planning the layout and flow of the app, to choosing a great front end framework, branding the application, integrating the best packages to make development easier end more efficient, polishing your application to make it beautiful and fun to use, testing your application, deploying the app to a production ready server, and monitoring and improving the app’s performance. Here’s what I want to put in the guide. I am really curious to hear what you all think and what you’d like to see!
- Planning and Wireframing: Planning out a web application can be one of the most difficult parts of development, this is multiplied with a framework like Meteor, where you have a lot of freedom to design and structure your app the way you want. In addition to this, the old Spider-Man alive of “With great power comes great responsibility” applies to Meteor. There is a lot of potential to get into a huge mess while creating Meteor applications, because of how it functions. And it is necessary to implement sound, maintainable app design/structure to keep your Meteor app under control and performing well.
- Using Flow Router: Flow Router is an alternative to Iron Router that has a lot of advantages. In the book, we’ll walk through exactly how to set up and use Flow Router in your app, including animations, authentication, and more.
- Customizing Bootstrap: I don’t know about you, but it seems to me like all Meteor apps have a certain look to them. I’m not sure why this happens, but an essential aspect of developing an application for the real world is branding and customizing it so it is unique. We’ll go over how to customize the Bootstrap framework to make your application your own, and stand out from every other app out there.
- Using Awesome Packages: One of the coolest parts about Meteor is the community, namely all of the amazing packages they create. We’ll cover which packages can drastically improve you application and development workflow, and how best to implement them.
- Animations and Application Polish: One of the potential downsides of reactive, real time apps is that they can be clunky and jerky without proper transitions and animations. We’ll work through adding animations and transitions to our app to make it smooth and a joy to use.
- Testing: Testing in a Meteor application is really important. The nature of Meteor being reactive and real time means there is a lot of opportunity for stuff to go wrong, and it can make it really hard to figure out what’s going wrong. Testing can help alleviate some of those issues.
- Making Developing and Deploying to different environments easy with environment variables
- Deploying: A lot of deployment options exist for Meteor, we’ll be going over the best options in regards to performance and security.
- Security: Security is a very important but often overlooked aspect of not just Meteor development, but web development in general. This section will walk you through how to secure and harden your Meteor app.
- Performance Monitoring: Once you’ve finished developing your application, your work is not done. When your app is in production, performance monitoring and bug tracking are essential to maintaining a great app. This section will cover important procedures and techniques for ensuring that your app is constantly running in peak condition.
- Tracking and Analytics with Keen.io: Tracking and analytics are crucial to identifying how users are interacting with your application. In this section, we’ll go over how to integrate and use Keen.io, and analytics platform, with your Meteor app. Smart Meteor is designed to do one thing. Teach developers how to efficiently build exceptional Meteor applications that are ready to hold up in the real world. After going through this guide, you’ll be ready to confidently start building Meteor applications for clients or go out and build a startup.
So that’s what I have so far, I’m really really curious to hear what you all think and if there is anything else you’d like to see in the guide. One major decision I’m still looking at is whether to use Blaze or React in the guide.