Книжная обложка для Web-сайта. На чем реализовать?
Есть сайт, на котором размещено множество всевозможных литературных опусов различной тематики. Сайт старый (не так давно стукнуло 10 лет) и дизайн не менялся с черт знает каких времен. Оттого популярностью особой не пользуется, хотя, если копнуть поглубже, местами весьма интересен.
И вот задумал я для этого сайта смастерить красивую обложку: интерьер средневековой библиотеке, перелистывающиеся страницы книг и прочая графическая дребень, совершенно бессмысленная, но радующая глаз, и создающая должную атмосферу.
Все здорово, но встал вопрос о выборе движка. Понятное дело, выбор изначально пал на Flash. Однако, стоило копнуть поглубже и сразу же стали видны массы недостатков этой среды, большая часть которых касается производительности и несовершенства работы получающегося движка. Ибо никто сотни тысяч страниц вручную делать не будет - да и юзеры не оценят, повесят! А на автоматическую генерацию содержимого оных на основе текстового файла в 100-800кб уйдет умопомрачительное количество времени, а необходимость навигации по страницам сделает подобный расчет и вовсе невозможным, равно как и генерацию страниц "на лету".
А недавно купил я игрушку Magicka, написанную на XNA, и при первом же запуске меня встретила разворачивающаяся книга с текстами и иллюстрациями, юзабельная в плане тыкабельности и вполне себе симпотичная.
И я подумал - а почему нет? Почему не написать эдакий минибраузер, который будет обращаться к Web-серверу, тянуть с него текстовики, а уж на машине пользователя превращать их в ветхие листики книг, залитые воском свечи...
И тут встал вопрос - на чем писать? Посоветуйте, гуру! Возможно, не стоит сразу хвататься за стороннюю программу, так как любой экзешник, найденный на просторах сети вызывает у любого здравомыслящего человека нервую дрожь и желание отправить оный на вируслаб. Быть может, я недостаточно изучил Flash, тем более, что о надстройке к нему - Flex - слышал и вовсе лишь краем уха. Или, стиот взглянуть в сторону монстроузного Silverlight, об которого ваш покорный слуга в свое время обломал зубы на одном сайте и с тех пор относиться к нему с подозрением. Или все же написать эдакий браузер? Но тогда на чем? C# подойдет? В какой среде - WPF, Windows Forms, тот же XNA?
Надеюсь, вы сможете мне помочь определиться со средой разработки. За любые ссылки и просто информацию по теме буду премного благодарен! Может, кто-нибудь уже делал нечто подобное и поделится наработками? Или есть идеи как реализовать ту же постраничую отрисовку "книги" по текстовому файлу с возможностью перехода на произвольную страницу?
В общем, буду рад любой помощи!
Искрене надеюсь на вас, спасибо!
И не изобретайте велосипед: http://books.google.com/books?id=GgrKwpTncFAC&lpg=PA343&hl=ru&pg=PA3#v=onepage&q&f=false
Про гуглобук не слышал. Благодарю, весьма интересный сайт. Но, как сказано выше, не подходит в силу простоты и топорности дизайна. Тем более, я бы не сказал, что он удобен - страницы жесткого размера, очень узкие, при нормальном масштабе еще и с полосой прокрутки - куда это годится?
Нет, хочется атмосферы: шелеста переворачиваемых страниц, тронутых тленом; плетущего в тусклом свете свечи свою сеть паука, бликов пламени в бокале вина...
Так что вопрос, как ни прискорбно, еще в силе. На чем писать? :)
Но за сайт, повторюсь, спасибо! Будет интересно исследовать сей кладезь знаний. Ну, а без изобретения все новых и новых велосипедов, жить было бы скучно. К тому же надо ведь на чем-то учиться... а кошек жалко. :)
И я подумал - а почему нет? Почему не написать эдакий минибраузер, который будет обращаться к Web-серверу, тянуть с него текстовики, а уж на машине пользователя превращать их в ветхие листики книг, залитые воском свечи...
Или все же написать эдакий браузер? Но тогда на чем? C# подойдет? В какой среде - WPF, Windows Forms, тот же XNA?
C# подойдёт. Тем более вы на нём уже пишете.
Я недавно сам всерьёз взялся наконец за WPF, и в качестве одного из примеров достоинств этой технологии приводится сайт британской библиотеки, где есть примерно то, что пытаетесь сделать вы: трёхмерные книги, их можно листать, крутить-вертеть; на старинных книгах позолота блестит, шелест страниц слышен.
Это рассказывал в своих докладах на TechDays Роман Здебский, один из разработчиков WPF.
В общем, я бы взял именно технологии .NET. Причём это может быть не обязательно клиентское приложение, а скажем WPF Browser Application.
А не мог бы ты поделиться какой-нибудь умной книжицей? Хотя бы и той, где приводится пример британской библиотеки? :)
Русский вариант, конечно же, приветствуется, но и не слишком заумный английский подойдет. MSDN о WPF рассуждает как-то уж очень пространно и в то же время скудно...
И, собственно вопрос - что требуется от сервера, на котором будет располагаться WPF Browser Application? И что требуется от юзера, который попытается его открыть? :)
В любом случае, еще раз большое спасибо! :)
Пример библиотеки был упомянут здесь: http://www.techdays.ru/videos/1196.html Но не стоит обольщаться: там всего лишь упоминание, что можно сделать с помощью wpf, но не описание как (т. е. готового кода нет).
Вообще рекомендую доклады Здебского: http://www.techdays.ru/speaker/Zdebskij_Roman.html
Ничего более конкретного сказать не могу. Я сам лишь учусь :).
Он тоже демонстрировал английскую библиотеку, но, к сожалению, упомянул еще два факта:
1) Книги сканируются в высоком разрешении, а потом натягиваются, как текстуры на страницы 3D-книги. Впрочем, там же была и электронная газета Times, так что, наверное, это не самая большая проблема и тест сгенерировать получится.
2) Он упомянул, что 3D-графику в WPF можно использовать только в Windows Vista и 7, в связи с тем, что в них было реконструировано графическое ядро. Так ли это? То есть вот эта самая шикарная библиотека на машине с Windows XP работать не будет?
От сервера - ничего особенного. От клиента - браузер способный хостить WPF плагин (любой современный браузер это умеет делать на Windows XP и выше).
2) Он упомянул, что 3D-графику в WPF можно использовать только в Windows Vista и 7, в связи с тем, что в них было реконструировано графическое ядро. Так ли это? То есть вот эта самая шикарная библиотека на машине с Windows XP работать не будет?
Поддержка 3D была в WPF изначально, просто движок слабоват, но для книги видимо сойдет.