Guides
Welcome to CanJS! These guides are here to help you develop and improve your relationship with CanJS. After all, picking a JavaScript framework is a commitment. We want CanJS to be the framework you marry. This page helps you know how advance through the different stages of this relationship:
Introduction
If you're reading this, you've already taken the first step. You've met CanJS! Maybe you heard about it at a meetup, or read about it on a blog. But before you spend any time with it, you want to know, "who is CanJS?".
CanJS is part of the DoneJS family of open source projects. The DoneJS Team along with Bitovi are the people most responsible for CanJS's direction, adding features, fixing bugs, and helping you become successful. Feel free to say hello anytime on Gitter chat or the forums.
You'll also want to know what CanJS stands for. Checkout our mission statement:
CanJS is an evolving and improving set of client side JavaScript architectural libraries that balances innovation and stability. CanJS targets experienced developers building complex applications with long futures ahead of them.
Read more on Mission about our mission and how we've been accomplishing those goals for 10 years.
Finally, if CanJS's heart isn't enough to convince you it's a good fit, read up on its Technical Highlights.
Experimenting
So now you've decided to give CanJS a try. The best place to start is the Chat Guide. It's only an hour, and CanJS will be showing off all of it's best features while you build a real time chat application. You build the whole thing in a JSBin.
Next, you'll want to try the TodoMVC Guide. This takes about 1.5 hours and touches on every core part of CanJS. You can also follow the whole guide in a JSBin.
After that, checkout the ATM Guide. It takes about 2 hours and shows how to build and test an ATM machine. It also shows how to composite state. The whole guide is done in a JSBin.
You might also want to to go through DoneJS's Place My Order Guide. This is a very in-depth look at how CanJS works within the context of a wide variety of other tools. This guide takes about 8 hours.
Finally, when you're just about to commit, read Setting up CanJS to learn how to setup CanJS for your particular environment.
Commitment
Once you've committed to CanJS, it's important that you keep liking it and get better at using it.
CanJS's community has a wealth of people who can offer advice and tips on how to build an application in the right way. Instead of struggling, please ask for advice on Gitter chat or the forums. Share a screen-shot of what you're building and we'll tell you what needs to be done.
To stay up on CanJS's latest news, we suggest:
- Following @CanJS on twitter.
- Subscribing to Bitovi's development blog.
To get hands on instruction, sign up for a DoneJS meetup in your area:
- Chicago
- Silicon Valley
- Boston
- Ft. Lauderdale
- Los Angeles
- New York
- Phoenix
- Raleigh-Durham
- San Francisco
- Seattle
As you start developing your application, remember to checkout the Examples area. It shows off how to accomplish common UI and architectural patterns with the framework.
If you've already committed to CanJS, and are looking to move to 3.0, read Migrating to 3.0.
Contributing
Once you've settled down with CanJS, It's time to think about adding extensions and improvements to the framework of your own. There are many ways to contribute to CanJS including:
- Report a bug
- Suggest a feature
- Code changes
- Documentation improvements
- Create a plugin
- Evangelism - Blog, meetup and conference talks
- Releases - Maintaining CanJS
CanJS is managed by the DoneJS Contributors Team. All contributions from all types of contributors are welcome. Contributing to an Open Source project can be an intimidating experience. We're committed to making the experience as pleasant and rewarding as possible. We're happy to setup a pairing session to show you how to fix a bug or write a feature.
If you have any questions, you can always reach us on Gitter chat.
If you want to become a CanJS contributor, you simply have to:
- Email the core team expressing your interest.
- Attend the weekly DoneJS Contributors meeting twice a month. DoneJS Calendar.
- Make one small contribution, even a spelling correction, a month.