Posts from 23 January 2015
Holy crap. I wasn't sure if I could do it, but I've got my app rendering a blank screen.
Some elaboration is required.
I set out today to get the basic infrastructure of Marionette working, with a modal login screen, and a router
beforeaction that properly redirects after sign-in.
At 9:30 tonight, I checked in the last code that was necessary to get this to happen.
I am so happy. I thought, when we were first learning Backbone, that it was pretty opinionated, but it turns out that it's flexible, and requires more configuration than convention. Sure, there are things that
backbone-on-railstries to enforce, but that's not Backbone per se.
Marionette, on the other hand, has some strong opinions, but the documentation is sparse enough that it can be hard to discern what those opinions are. Nevertheless, it desires certain things, and after a lot of secondary reading, I have figured out a lot of what those things are. For instance, Marionette wants you to modularize everything, but the
Marionette.Moduleobject is pretty ghetto and is slated for deprecation.
backbone-on-railsopinions by adding a folder for (e.g.) controllers and inserting it at the correct point in app startup. It works for now, but I may have to refactor later.
And what a statement that is! Every single line I wrote in Backbone felt like it needed serious refactoring, but everything in Marionette is so DRY. Sure, there's a bit more "needless" code to pass messages, but that is in keeping with the spirit of loose coupling.
Case in point: I spent a good deal of time learning about JQuery Deferreds, which are a means of handling promises in JQ. They're similar in behavior to Arel queries—they don't do anything until you
What did I do today, then?
- Marionette is starting up
- I have created regions
- I can attach subviews to the correct region
- Calls to routes that require login are properly intercepted
- Once login succeeds, the original route is triggered
- Login is actually working :)
What did I learn?
- Reading the docs, while essential, can only get you so far
- At some point (earlier than you [ed: meaning 'I'] think) you need to sit down and just break things
- Initially, at least, you're not going to have a damned clue what you're doing, so you have to just get the gist and then try things.
- Act more than plan. (This is personal, and in reference to my current state.)
I did make headway finding employers today, which is good. There are quite a few that I can tell are doing things I would enjoy, now that I know how important user interactions and a strong API are to me. All the glue in the middle is not so interesting, which suggests, me being me, that this will be my first role out in the real world. Lol.
Most of the work just involves reading corporate copy and trying to suss out what it is that a company actually does. I will say that if I can't understand a company after two or three reads, they don't go on the list at all.
As for the rest of the day, I spent a lot of time stressing out about getting my project portfolio together. I still don't love my final project, but I started doing some major refactoring late yesterday afternoon and well into the night, and even though I haven't tested what I'm writing as much as I'd like I know that I prefer Marionette.
My project won't be done in the way I'd like, but as long as I can show it off, it should be okay.
This is stressful.