Фром май харт ин инглиш о Lift Framework

Около месяца назад мы проводили конкурс на лучшее эссе о Lift Framework с главным призом - 2-мя билетыми на ScalaLOL. Всего было прислано 11 работ, каждая из которых отличалась отличным пониманием механизмов работы Lift, и послужила бы шикарным маркетинговым материалом, способным привлечь под знамена Lift новых сторонников. Что показательно, ниодному из авторов не были нужны билеты на мероприятие - ими руководствовал чистый энтузиазм, и любовь к фреймворку. В ближайшие несколько недель мы опубликуем 3 лучшие работы. Первой будет замечательное, проникновенное эссе Артема @demonico Ольшевского.

When I first saw Lift I thought what's the reason for such framework to exist. It was full of features you'll never see in other enterprise(or near enterprise) frameworks possess. You begin puzzling over why in the world snippets are mixing up presentation and business logic.

But on the second try it gets clear that Lift is not about WOW effect or addicting commercial sector devs(like it's done often). It's about creating something truly functional and it's designed from other point of view on current state of web development.

Main requirement from any technology is now flexibility. And it's about Lift. It's often to start coding a web application on Spring now. You create a business logic layer. You create a data persistence layer. You create a services layer. You create a presentation layer. And then you create gazillions of middleware to make this layers interact with each other. Martin Odersky said he called Scala by the name of scalability from scalable abstractions that you're able to create with it. That's what Java don't have. If you want your abstractions to be composable and interconnectable you need to write hundreds of boilerplate design pattern infected code.

So I do think that Lift is about scalabale abstractions just like Scala. Bootstrap you project with ten lines of code and evolve it if it needs to be evolved. Lift will be able to provide you required infrastructure if you want your own Facebook to evolve from your guestbook. I've seen a lot of different attempts to implement a framework allowing to implement large scale architectures and small in house solutions in one codebase and they all failed except of Lift. They just can't live under one roof I thought once. But they can when you're lifting.

And more over I see Lift evolving also. New WiringUI is just magnificent approach to create more interactive webapps without writing hundred lines of javascript code here and there to interconnect values on frontend which are already connected on backend. Mathematically it's just functional dependencies lifted to page/web browser level. But it's new level of thinking in the web where everyone has always felt bad when copying same logic in frontend which is already done on backend to interconnect the values. Now I see that after something like 3 years of development Lift is not just another framework but a technology here just in right time in right place.

Realtime updates are real buzz right now. Web sockets are being pushed into html specs just to allow realtime updates become simpler for average system to implement. And we have em right here, right now in Lift in any browser, within core framework and ready to use.

To sum up Lift is wonderful framework featuring all you want to implement web application of any scale and more for you to grow up.