Rise of the Middle End 4.04 http://spkr8.com/t/4871

  • Me11-tiny Kyle Simpson 3.97


We all know that web performance optimization is becoming critical to the success of web sites and applications. The problem is, we often don’t have the control over the UI Architecture (“middle-end”) that we need to really make things better.

We’ll talk about how to use JavaScript (client- and server-side) to revamp the middle-end so we can throttle web performance (and code maintainability) to the next level.

Comments on this Talk

Me11-tiny Kyle Simpson, 21 Oct 09:59 PM

Stream.30730 Joe Egan, 24 Oct 10:30 PM

Excellent, relaxed delivery. Refreshing content. Glad to have a relevant dose of architecture at a front-end oriented conference. Though the middle-end theory sounds logical, it seems romantic and something that will take a huge amount of energy by a huge amount of devs, which I doubt are interested enough in the whole stack. I hope I'm wrong. Again, fantastic talk loaded with sense.

Stream.808 Radoslaw Benkel, 25 Oct 09:00 AM

Comment deleted by Radoslaw Benkel on October 26, 2010 at 8:32 PM

Stream.808 Radoslaw Benkel, 26 Oct 07:12 AM

After reading the topic presentation, I was very interested. Practically, we always thought about front-end and back. And then, somebody comes with idea of "middle-end". "What? I really need to see what it's all about". In short way, idea was to use the same parts of code at the server side and in browser - for example validation.

Kyle was talking smoothly, explaining each "non-code" slide very well. And then was time for showing some code, that he wrote for middle end. And for me that "code slides" was the biggest flaw of presentation. Code was messy - hard to figure "what author had in mind" - even with Kyle comments.

Wrapping up - I think that idea is good. But we can accomplish that today with generating validation rules for JS from form classes (e.g. in PHP - Zend_Form). Doing it on server side using JS doesn't fit the "Choose the right tool for the task, not opposite" rule for me.

So, that approach to the topic is very original, I' have a quote that PARTLY fits whole topic: "Everyone knows that something cannot be done, and this one comes in who does not know that it is not possible, and he's doing it" Albert Einstein

Me11-tiny Kyle Simpson, 27 Oct 09:27 PM

@Radoslaw -- very much appreciate your feedback.

It's far too much code to show in a clean way. If I showed only a small portion of it, then I'd be failing to get across the overall point of trying to de-mystify what the middle-end is. I believe people need to see that there's very little code required to get this stuff to work, and very little code means that it's so much easier for you to do the code the way it makes sense to you and your app, instead of having to accept the way some other platform does it.

Also, I could spend lots of time developing a really nice, clean, abstracted "framework" for the middle-end. But again, this is opposite of my goal, which is to de-normalize and un-abstract this stuff so that the code is very lean and stripped down. My feeling is that will lead to more flexibility and better performance, because there's less layers to go through.

So, overall, I agree with you that the code was very ugly. It's the hardest part of what I'm trying to do. If I only spoke on theory and left code up to the audience, few people would "get it" how easy it really is, or how easy it is to do it how you feel best.

Me11-tiny Kyle Simpson, 27 Oct 09:31 PM

@Radoshaw -- also, I consider it to be sub-optimal to use "generated" JavaScript code... because again, you have no control over that code, you have to use it exactly how the Zend framework generates it for you. What do you do when you find out it's not how you need it? You hack around in PHP, trying to get it right. Sometimes it's possible, sometimes it's not. But you can't just do to the code what you really need to.

That's what's fundamentally flawed with ALL existing web application frameworks/platforms. And that's what I'm trying to change.

Moreover, there's lots of different middle-end tasks besides just form data validation. There's: routing, data formatting, caching, packaging, etc. And many of those middle-end tasks can and need to run in both server and browser. So that's even more code that you'd be relying on Zend auto-generating (badly) for you, instead of just letting your front-end devs write it correctly the first time and use it in both places.

Have an account? Sign in or register.

Leave a Comment

14 Ratings: 4.04

Delivery: 3.96

Content: 4.12

Last Five Ratings