Lithium for Newbies
I have a special place in my heart for newbies, mostly because at one level or another I’m always a newbie to something out there. Technology and computing just has a way of always keeping us on our toes, always learning and relearning things, which I take as an excellent sign that legitimate improvements have occurred in our respective platforms and fields. It has now been over a year that I’ve been working with Lithium and while the documentation effort for this framework has grown and improved significantly, I keep finding folks asking about how newcomers to the framework can get their feet wet. It seems there is still demand for a set of docs geared toward the absolute newbie, or perhaps the expert in one area of web development but a novice at Lithium’s unique (and fabulous) combination of aspect-oriented, object-oriented, MVC, and structured storage (NoSQL) paradigms.
I should apologize: this post isn’t about actually providing these docs or explaining Lithium to newbies. Rather, it is an invitation for the Lithium community to join me in remembering the freshman class of our larger professional network. Strange as it may seem, my day job is actually in academics: I’m wrapping up a PhD in religious studies at Claremont Graduate University and have worked as a professor in teaching the more abstracted and secular approach to understanding religion and religious movements. And if there’s one thing I’ve learned in this field, it’s that the life blood of any social movement is the youths in the crowd, the converts, the rising generation. Those movements that lead these new initiates by the hand endure better than those that stand on the sideline while people transition.
I believe a key opportunity to capture more interest and users to the Lithium platform just surfaced: with the release of Lithium 0.10, MySQL and model associations are now supported to enough of a degree that a far wider net of PHP developers can transition over to what is more importantly concepts and structures Lithium provides that other frameworks don’t, or maybe don’t do very well. The time for a robust entrée to Lithium for this wider constituency of developers is now.
Billionaire entrepreneurs have made a mantra of the three most important aspects of a successful business plan: “Location, location, location.” If I were to translate this clichéd mantra for developer communities, it’d be “documentation, documentation, documentation.” (Sorry, Steve Ballmer, but it’s not developers that count: you don’t have developers without docs.)
I would like to try my hand at writing newbie docs, but I will make one confession: I already know that these will have to be rough drafts because of my own learning curve at play. But the real strength of open source communities is their collective writing process. So I’ll be forking the Lithium manual on GitHub and re-posting any updates I make to it here for your editorial comments. Screencasts are an especially effective medium for teaching processes and concepts; maybe I’ll be able to put some together as well. And last, but not least, I’d like to err on the side of trying when offering solutions in forums, chat rooms, and Q&A sites. If there’s a more elegant way to accomplish something, I’ll invite your critique. It’d be a tragedy if we held back in giving advice and in sharing solutions for fear of being called out or corrected in public view. When there’s such a fabulous tool coming out of a group of developers, I have to believe there’s something more to the community at work. I like to think that something includes a genuine camaraderie that anyone new to anything would appreciate, from one developer to another.
Comments
Andrew
Jul 24th, 2011, 9:07 pm
Lithium looks very nice. I’ve been watching it for a while. The manual on github looks like its progressing well too, good work.
@Michael C. I wouldn’t worry about what framework you choose in being the right decision. Codeigniter 2.0 will work almost identically to the 1.X versions. The user manual is excellent for teaching the framework. Also Lithium is not replacing Cake. I believe Lithium is a spinoff from Cake. Cake will still be and is in development. The CLI isn’t too scary after messing with it for a while and you’ll soon appreciate it. Whatever you choose will be better than not choosing one and waiting for something better to come along. Just pick something :)


Michael C.
Jun 30th, 2011, 6:50 pm
David – thanks so much for your perspective on this. I’m a newbie to PHP frameworks and really appreciate being considered.
I’m finding it tough to ramp up to PHP frameworks and choose one to study. Most PHP books teach procedural code and OOP basics but not the higher structures required to use and understand frameworks.
Choosing a framework to study is tricky also. CodeIgniter 2.0 just came out so tutorials are very limited. With Lithium on its way, it’s the wrong time to learn CakePHP. Symfony and Zend are scary for beginners with their CLI and seemingly higher learning curve.
Looking forward to the first good book on Lithium (hopefully by you) that walks through development of a complete web app with user authentication, CRUD, and other basic web features newbies like me crave.