Сравнение каркасов веб-приложений
Поделись знанием:
Это был любимый танец графа, танцованный им еще в молодости. (Данило Купор была собственно одна фигура англеза .)
– Смотрите на папа, – закричала на всю залу Наташа (совершенно забыв, что она танцует с большим), пригибая к коленам свою кудрявую головку и заливаясь своим звонким смехом по всей зале.
Действительно, всё, что только было в зале, с улыбкою радости смотрело на веселого старичка, который рядом с своею сановитою дамой, Марьей Дмитриевной, бывшей выше его ростом, округлял руки, в такт потряхивая ими, расправлял плечи, вывертывал ноги, слегка притопывая, и всё более и более распускавшеюся улыбкой на своем круглом лице приготовлял зрителей к тому, что будет. Как только заслышались веселые, вызывающие звуки Данилы Купора, похожие на развеселого трепачка, все двери залы вдруг заставились с одной стороны мужскими, с другой – женскими улыбающимися лицами дворовых, вышедших посмотреть на веселящегося барина.
– Батюшка то наш! Орел! – проговорила громко няня из одной двери.
Граф танцовал хорошо и знал это, но его дама вовсе не умела и не хотела хорошо танцовать. Ее огромное тело стояло прямо с опущенными вниз мощными руками (она передала ридикюль графине); только одно строгое, но красивое лицо ее танцовало. Что выражалось во всей круглой фигуре графа, у Марьи Дмитриевны выражалось лишь в более и более улыбающемся лице и вздергивающемся носе. Но зато, ежели граф, всё более и более расходясь, пленял зрителей неожиданностью ловких выверток и легких прыжков своих мягких ног, Марья Дмитриевна малейшим усердием при движении плеч или округлении рук в поворотах и притопываньях, производила не меньшее впечатление по заслуге, которую ценил всякий при ее тучности и всегдашней суровости. Пляска оживлялась всё более и более. Визави не могли ни на минуту обратить на себя внимания и даже не старались о том. Всё было занято графом и Марьею Дмитриевной. Наташа дергала за рукава и платье всех присутствовавших, которые и без того не спускали глаз с танцующих, и требовала, чтоб смотрели на папеньку. Граф в промежутках танца тяжело переводил дух, махал и кричал музыкантам, чтоб они играли скорее. Скорее, скорее и скорее, лише, лише и лише развертывался граф, то на цыпочках, то на каблуках, носясь вокруг Марьи Дмитриевны и, наконец, повернув свою даму к ее месту, сделал последнее па, подняв сзади кверху свою мягкую ногу, склонив вспотевшую голову с улыбающимся лицом и округло размахнув правою рукой среди грохота рукоплесканий и хохота, особенно Наташи. Оба танцующие остановились, тяжело переводя дыхание и утираясь батистовыми платками.
– Вот как в наше время танцовывали, ma chere, – сказал граф.
– Ай да Данила Купор! – тяжело и продолжительно выпуская дух и засучивая рукава, сказала Марья Дмитриевна.
В то время как у Ростовых танцовали в зале шестой англез под звуки от усталости фальшививших музыкантов, и усталые официанты и повара готовили ужин, с графом Безухим сделался шестой удар. Доктора объявили, что надежды к выздоровлению нет; больному дана была глухая исповедь и причастие; делали приготовления для соборования, и в доме была суетня и тревога ожидания, обыкновенные в такие минуты. Вне дома, за воротами толпились, скрываясь от подъезжавших экипажей, гробовщики, ожидая богатого заказа на похороны графа. Главнокомандующий Москвы, который беспрестанно присылал адъютантов узнавать о положении графа, в этот вечер сам приезжал проститься с знаменитым Екатерининским вельможей, графом Безухим.
Великолепная приемная комната была полна. Все почтительно встали, когда главнокомандующий, пробыв около получаса наедине с больным, вышел оттуда, слегка отвечая на поклоны и стараясь как можно скорее пройти мимо устремленных на него взглядов докторов, духовных лиц и родственников. Князь Василий, похудевший и побледневший за эти дни, провожал главнокомандующего и что то несколько раз тихо повторил ему.
Проводив главнокомандующего, князь Василий сел в зале один на стул, закинув высоко ногу на ногу, на коленку упирая локоть и рукою закрыв глаза. Посидев так несколько времени, он встал и непривычно поспешными шагами, оглядываясь кругом испуганными глазами, пошел чрез длинный коридор на заднюю половину дома, к старшей княжне.
Находившиеся в слабо освещенной комнате неровным шопотом говорили между собой и замолкали каждый раз и полными вопроса и ожидания глазами оглядывались на дверь, которая вела в покои умирающего и издавала слабый звук, когда кто нибудь выходил из нее или входил в нее.
– Предел человеческий, – говорил старичок, духовное лицо, даме, подсевшей к нему и наивно слушавшей его, – предел положен, его же не прейдеши.
– Я думаю, не поздно ли соборовать? – прибавляя духовный титул, спрашивала дама, как будто не имея на этот счет никакого своего мнения.
– Таинство, матушка, великое, – отвечало духовное лицо, проводя рукою по лысине, по которой пролегало несколько прядей зачесанных полуседых волос.
– Это кто же? сам главнокомандующий был? – спрашивали в другом конце комнаты. – Какой моложавый!…
– А седьмой десяток! Что, говорят, граф то не узнает уж? Хотели соборовать?
– Я одного знал: семь раз соборовался.
Вторая княжна только вышла из комнаты больного с заплаканными глазами и села подле доктора Лоррена, который в грациозной позе сидел под портретом Екатерины, облокотившись на стол.
– Tres beau, – говорил доктор, отвечая на вопрос о погоде, – tres beau, princesse, et puis, a Moscou on se croit a la campagne. [прекрасная погода, княжна, и потом Москва так похожа на деревню.]
– N'est ce pas? [Не правда ли?] – сказала княжна, вздыхая. – Так можно ему пить?
Лоррен задумался.
– Он принял лекарство?
– Да.
Доктор посмотрел на брегет.
– Возьмите стакан отварной воды и положите une pincee (он своими тонкими пальцами показал, что значит une pincee) de cremortartari… [щепотку кремортартара…]
– Не пило слушай , – говорил немец доктор адъютанту, – чтопи с третий удар шивь оставался .
– А какой свежий был мужчина! – говорил адъютант. – И кому пойдет это богатство? – прибавил он шопотом.
– Окотник найдутся , – улыбаясь, отвечал немец.
Все опять оглянулись на дверь: она скрипнула, и вторая княжна, сделав питье, показанное Лорреном, понесла его больному. Немец доктор подошел к Лоррену.
– Еще, может, дотянется до завтрашнего утра? – спросил немец, дурно выговаривая по французски.
Лоррен, поджав губы, строго и отрицательно помахал пальцем перед своим носом.
– Сегодня ночью, не позже, – сказал он тихо, с приличною улыбкой самодовольства в том, что ясно умеет понимать и выражать положение больного, и отошел.
Между тем князь Василий отворил дверь в комнату княжны.
В комнате было полутемно; только две лампадки горели перед образами, и хорошо пахло куреньем и цветами. Вся комната была установлена мелкою мебелью шифоньерок, шкапчиков, столиков. Из за ширм виднелись белые покрывала высокой пуховой кровати. Собачка залаяла.
– Ах, это вы, mon cousin?
Она встала и оправила волосы, которые у нее всегда, даже и теперь, были так необыкновенно гладки, как будто они были сделаны из одного куска с головой и покрыты лаком.
– Что, случилось что нибудь? – спросила она. – Я уже так напугалась.
– Ничего, всё то же; я только пришел поговорить с тобой, Катишь, о деле, – проговорил князь, устало садясь на кресло, с которого она встала. – Как ты нагрела, однако, – сказал он, – ну, садись сюда, causons. [поговорим.]
– Я думала, не случилось ли что? – сказала княжна и с своим неизменным, каменно строгим выражением лица села против князя, готовясь слушать.
– Хотела уснуть, mon cousin, и не могу.
– Ну, что, моя милая? – сказал князь Василий, взяв руку княжны и пригибая ее по своей привычке книзу.
Видно было, что это «ну, что» относилось ко многому такому, что, не называя, они понимали оба.
Княжна, с своею несообразно длинною по ногам, сухою и прямою талией, прямо и бесстрастно смотрела на князя выпуклыми серыми глазами. Она покачала головой и, вздохнув, посмотрела на образа. Жест ее можно было объяснить и как выражение печали и преданности, и как выражение усталости и надежды на скорый отдых. Князь Василий объяснил этот жест как выражение усталости.
– А мне то, – сказал он, – ты думаешь, легче? Je suis ereinte, comme un cheval de poste; [Я заморен, как почтовая лошадь;] а всё таки мне надо с тобой поговорить, Катишь, и очень серьезно.
Князь Василий замолчал, и щеки его начинали нервически подергиваться то на одну, то на другую сторону, придавая его лицу неприятное выражение, какое никогда не показывалось на лице князя Василия, когда он бывал в гостиных. Глаза его тоже были не такие, как всегда: то они смотрели нагло шутливо, то испуганно оглядывались.
Княжна, своими сухими, худыми руками придерживая на коленях собачку, внимательно смотрела в глаза князю Василию; но видно было, что она не прервет молчания вопросом, хотя бы ей пришлось молчать до утра.
– Вот видите ли, моя милая княжна и кузина, Катерина Семеновна, – продолжал князь Василий, видимо, не без внутренней борьбы приступая к продолжению своей речи, – в такие минуты, как теперь, обо всём надо подумать. Надо подумать о будущем, о вас… Я вас всех люблю, как своих детей, ты это знаешь.
Княжна так же тускло и неподвижно смотрела на него.
– Наконец, надо подумать и о моем семействе, – сердито отталкивая от себя столик и не глядя на нее, продолжал князь Василий, – ты знаешь, Катишь, что вы, три сестры Мамонтовы, да еще моя жена, мы одни прямые наследники графа. Знаю, знаю, как тебе тяжело говорить и думать о таких вещах. И мне не легче; но, друг мой, мне шестой десяток, надо быть ко всему готовым. Ты знаешь ли, что я послал за Пьером, и что граф, прямо указывая на его портрет, требовал его к себе?
Князь Василий вопросительно посмотрел на княжну, но не мог понять, соображала ли она то, что он ей сказал, или просто смотрела на него…
– Я об одном не перестаю молить Бога, mon cousin, – отвечала она, – чтоб он помиловал его и дал бы его прекрасной душе спокойно покинуть эту…
– Да, это так, – нетерпеливо продолжал князь Василий, потирая лысину и опять с злобой придвигая к себе отодвинутый столик, – но, наконец…наконец дело в том, ты сама знаешь, что прошлою зимой граф написал завещание, по которому он всё имение, помимо прямых наследников и нас, отдавал Пьеру.
– Мало ли он писал завещаний! – спокойно сказала княжна. – Но Пьеру он не мог завещать. Пьер незаконный.
– Ma chere, – сказал вдруг князь Василий, прижав к себе столик, оживившись и начав говорить скорей, – но что, ежели письмо написано государю, и граф просит усыновить Пьера? Понимаешь, по заслугам графа его просьба будет уважена…
Княжна улыбнулась, как улыбаются люди, которые думают что знают дело больше, чем те, с кем разговаривают.
– Я тебе скажу больше, – продолжал князь Василий, хватая ее за руку, – письмо было написано, хотя и не отослано, и государь знал о нем. Вопрос только в том, уничтожено ли оно, или нет. Ежели нет, то как скоро всё кончится , – князь Василий вздохнул, давая этим понять, что он разумел под словами всё кончится , – и вскроют бумаги графа, завещание с письмом будет передано государю, и просьба его, наверно, будет уважена. Пьер, как законный сын, получит всё.
– А наша часть? – спросила княжна, иронически улыбаясь так, как будто всё, но только не это, могло случиться.
– Mais, ma pauvre Catiche, c'est clair, comme le jour. [Но, моя дорогая Катишь, это ясно, как день.] Он один тогда законный наследник всего, а вы не получите ни вот этого. Ты должна знать, моя милая, были ли написаны завещание и письмо, и уничтожены ли они. И ежели почему нибудь они забыты, то ты должна знать, где они, и найти их, потому что…
– Этого только недоставало! – перебила его княжна, сардонически улыбаясь и не изменяя выражения глаз. – Я женщина; по вашему мы все глупы; но я настолько знаю, что незаконный сын не может наследовать… Un batard, [Незаконный,] – прибавила она, полагая этим переводом окончательно показать князю его неосновательность.
– Как ты не понимаешь, наконец, Катишь! Ты так умна: как ты не понимаешь, – ежели граф написал письмо государю, в котором просит его признать сына законным, стало быть, Пьер уж будет не Пьер, а граф Безухой, и тогда он по завещанию получит всё? И ежели завещание с письмом не уничтожены, то тебе, кроме утешения, что ты была добродетельна et tout ce qui s'en suit, [и всего, что отсюда вытекает,] ничего не останется. Это верно.
– Я знаю, что завещание написано; но знаю тоже, что оно недействительно, и вы меня, кажется, считаете за совершенную дуру, mon cousin, – сказала княжна с тем выражением, с которым говорят женщины, полагающие, что они сказали нечто остроумное и оскорбительное.
– Милая ты моя княжна Катерина Семеновна, – нетерпеливо заговорил князь Василий. – Я пришел к тебе не за тем, чтобы пикироваться с тобой, а за тем, чтобы как с родной, хорошею, доброю, истинною родной, поговорить о твоих же интересах. Я тебе говорю десятый раз, что ежели письмо к государю и завещание в пользу Пьера есть в бумагах графа, то ты, моя голубушка, и с сестрами, не наследница. Ежели ты мне не веришь, то поверь людям знающим: я сейчас говорил с Дмитрием Онуфриичем (это был адвокат дома), он то же сказал.
Видимо, что то вдруг изменилось в мыслях княжны; тонкие губы побледнели (глаза остались те же), и голос, в то время как она заговорила, прорывался такими раскатами, каких она, видимо, сама не ожидала.
– Это было бы хорошо, – сказала она. – Я ничего не хотела и не хочу.
Она сбросила свою собачку с колен и оправила складки платья.
– Вот благодарность, вот признательность людям, которые всем пожертвовали для него, – сказала она. – Прекрасно! Очень хорошо! Мне ничего не нужно, князь.
– Да, но ты не одна, у тебя сестры, – ответил князь Василий.
Но княжна не слушала его.
– Да, я это давно знала, но забыла, что, кроме низости, обмана, зависти, интриг, кроме неблагодарности, самой черной неблагодарности, я ничего не могла ожидать в этом доме…
– Знаешь ли ты или не знаешь, где это завещание? – спрашивал князь Василий еще с большим, чем прежде, подергиванием щек.
– Да, я была глупа, я еще верила в людей и любила их и жертвовала собой. А успевают только те, которые подлы и гадки. Я знаю, чьи это интриги.
Княжна хотела встать, но князь удержал ее за руку. Княжна имела вид человека, вдруг разочаровавшегося во всем человеческом роде; она злобно смотрела на своего собеседника.
– Еще есть время, мой друг. Ты помни, Катишь, что всё это сделалось нечаянно, в минуту гнева, болезни, и потом забыто. Наша обязанность, моя милая, исправить его ошибку, облегчить его последние минуты тем, чтобы не допустить его сделать этой несправедливости, не дать ему умереть в мыслях, что он сделал несчастными тех людей…
– Тех людей, которые всем пожертвовали для него, – подхватила княжна, порываясь опять встать, но князь не пустил ее, – чего он никогда не умел ценить. Нет, mon cousin, – прибавила она со вздохом, – я буду помнить, что на этом свете нельзя ждать награды, что на этом свете нет ни чести, ни справедливости. На этом свете надо быть хитрою и злою.
– Ну, voyons, [послушай,] успокойся; я знаю твое прекрасное сердце.
– Нет, у меня злое сердце.
– Я знаю твое сердце, – повторил князь, – ценю твою дружбу и желал бы, чтобы ты была обо мне того же мнения. Успокойся и parlons raison, [поговорим толком,] пока есть время – может, сутки, может, час; расскажи мне всё, что ты знаешь о завещании, и, главное, где оно: ты должна знать. Мы теперь же возьмем его и покажем графу. Он, верно, забыл уже про него и захочет его уничтожить. Ты понимаешь, что мое одно желание – свято исполнить его волю; я затем только и приехал сюда. Я здесь только затем, чтобы помогать ему и вам.
– Теперь я всё поняла. Я знаю, чьи это интриги. Я знаю, – говорила княжна.
– Hе в том дело, моя душа.
– Это ваша protegee, [любимица,] ваша милая княгиня Друбецкая, Анна Михайловна, которую я не желала бы иметь горничной, эту мерзкую, гадкую женщину.
– Ne perdons point de temps. [Не будем терять время.]
– Ax, не говорите! Прошлую зиму она втерлась сюда и такие гадости, такие скверности наговорила графу на всех нас, особенно Sophie, – я повторить не могу, – что граф сделался болен и две недели не хотел нас видеть. В это время, я знаю, что он написал эту гадкую, мерзкую бумагу; но я думала, что эта бумага ничего не значит.
– Nous у voila, [В этом то и дело.] отчего же ты прежде ничего не сказала мне?
– В мозаиковом портфеле, который он держит под подушкой. Теперь я знаю, – сказала княжна, не отвечая. – Да, ежели есть за мной грех, большой грех, то это ненависть к этой мерзавке, – почти прокричала княжна, совершенно изменившись. – И зачем она втирается сюда? Но я ей выскажу всё, всё. Придет время!
В то время как такие разговоры происходили в приемной и в княжниной комнатах, карета с Пьером (за которым было послано) и с Анной Михайловной (которая нашла нужным ехать с ним) въезжала во двор графа Безухого. Когда колеса кареты мягко зазвучали по соломе, настланной под окнами, Анна Михайловна, обратившись к своему спутнику с утешительными словами, убедилась в том, что он спит в углу кареты, и разбудила его. Очнувшись, Пьер за Анною Михайловной вышел из кареты и тут только подумал о том свидании с умирающим отцом, которое его ожидало. Он заметил, что они подъехали не к парадному, а к заднему подъезду. В то время как он сходил с подножки, два человека в мещанской одежде торопливо отбежали от подъезда в тень стены. Приостановившись, Пьер разглядел в тени дома с обеих сторон еще несколько таких же людей. Но ни Анна Михайловна, ни лакей, ни кучер, которые не могли не видеть этих людей, не обратили на них внимания. Стало быть, это так нужно, решил сам с собой Пьер и прошел за Анною Михайловной. Анна Михайловна поспешными шагами шла вверх по слабо освещенной узкой каменной лестнице, подзывая отстававшего за ней Пьера, который, хотя и не понимал, для чего ему надо было вообще итти к графу, и еще меньше, зачем ему надо было итти по задней лестнице, но, судя по уверенности и поспешности Анны Михайловны, решил про себя, что это было необходимо нужно. На половине лестницы чуть не сбили их с ног какие то люди с ведрами, которые, стуча сапогами, сбегали им навстречу. Люди эти прижались к стене, чтобы пропустить Пьера с Анной Михайловной, и не показали ни малейшего удивления при виде их.
– Здесь на половину княжен? – спросила Анна Михайловна одного из них…
– Здесь, – отвечал лакей смелым, громким голосом, как будто теперь всё уже было можно, – дверь налево, матушка.
– Может быть, граф не звал меня, – сказал Пьер в то время, как он вышел на площадку, – я пошел бы к себе.
Анна Михайловна остановилась, чтобы поровняться с Пьером.
– Ah, mon ami! – сказала она с тем же жестом, как утром с сыном, дотрогиваясь до его руки: – croyez, que je souffre autant, que vous, mais soyez homme. [Поверьте, я страдаю не меньше вас, но будьте мужчиной.]
– Право, я пойду? – спросил Пьер, ласково чрез очки глядя на Анну Михайловну.
– Ah, mon ami, oubliez les torts qu'on a pu avoir envers vous, pensez que c'est votre pere… peut etre a l'agonie. – Она вздохнула. – Je vous ai tout de suite aime comme mon fils. Fiez vous a moi, Pierre. Je n'oublirai pas vos interets. [Забудьте, друг мой, в чем были против вас неправы. Вспомните, что это ваш отец… Может быть, в агонии. Я тотчас полюбила вас, как сына. Доверьтесь мне, Пьер. Я не забуду ваших интересов.]
Пьер ничего не понимал; опять ему еще сильнее показалось, что всё это так должно быть, и он покорно последовал за Анною Михайловной, уже отворявшею дверь.
Дверь выходила в переднюю заднего хода. В углу сидел старик слуга княжен и вязал чулок. Пьер никогда не был на этой половине, даже не предполагал существования таких покоев. Анна Михайловна спросила у обгонявшей их, с графином на подносе, девушки (назвав ее милой и голубушкой) о здоровье княжен и повлекла Пьера дальше по каменному коридору. Из коридора первая дверь налево вела в жилые комнаты княжен. Горничная, с графином, второпях (как и всё делалось второпях в эту минуту в этом доме) не затворила двери, и Пьер с Анною Михайловной, проходя мимо, невольно заглянули в ту комнату, где, разговаривая, сидели близко друг от друга старшая княжна с князем Васильем. Увидав проходящих, князь Василий сделал нетерпеливое движение и откинулся назад; княжна вскочила и отчаянным жестом изо всей силы хлопнула дверью, затворяя ее.
Жест этот был так не похож на всегдашнее спокойствие княжны, страх, выразившийся на лице князя Василья, был так несвойствен его важности, что Пьер, остановившись, вопросительно, через очки, посмотрел на свою руководительницу.
Анна Михайловна не выразила удивления, она только слегка улыбнулась и вздохнула, как будто показывая, что всего этого она ожидала.
– Soyez homme, mon ami, c'est moi qui veillerai a vos interets, [Будьте мужчиною, друг мой, я же стану блюсти за вашими интересами.] – сказала она в ответ на его взгляд и еще скорее пошла по коридору.
Пьер не понимал, в чем дело, и еще меньше, что значило veiller a vos interets, [блюсти ваши интересы,] но он понимал, что всё это так должно быть. Коридором они вышли в полуосвещенную залу, примыкавшую к приемной графа. Это была одна из тех холодных и роскошных комнат, которые знал Пьер с парадного крыльца. Но и в этой комнате, посередине, стояла пустая ванна и была пролита вода по ковру. Навстречу им вышли на цыпочках, не обращая на них внимания, слуга и причетник с кадилом. Они вошли в знакомую Пьеру приемную с двумя итальянскими окнами, выходом в зимний сад, с большим бюстом и во весь рост портретом Екатерины. Все те же люди, почти в тех же положениях, сидели, перешептываясь, в приемной. Все, смолкнув, оглянулись на вошедшую Анну Михайловну, с ее исплаканным, бледным лицом, и на толстого, большого Пьера, который, опустив голову, покорно следовал за нею.
На лице Анны Михайловны выразилось сознание того, что решительная минута наступила; она, с приемами деловой петербургской дамы, вошла в комнату, не отпуская от себя Пьера, еще смелее, чем утром. Она чувствовала, что так как она ведет за собою того, кого желал видеть умирающий, то прием ее был обеспечен. Быстрым взглядом оглядев всех, бывших в комнате, и заметив графова духовника, она, не то что согнувшись, но сделавшись вдруг меньше ростом, мелкою иноходью подплыла к духовнику и почтительно приняла благословение одного, потом другого духовного лица.
– Слава Богу, что успели, – сказала она духовному лицу, – мы все, родные, так боялись. Вот этот молодой человек – сын графа, – прибавила она тише. – Ужасная минута!
Проговорив эти слова, она подошла к доктору.
– Cher docteur, – сказала она ему, – ce jeune homme est le fils du comte… y a t il de l'espoir? [этот молодой человек – сын графа… Есть ли надежда?]
Доктор молча, быстрым движением возвел кверху глаза и плечи. Анна Михайловна точно таким же движением возвела плечи и глаза, почти закрыв их, вздохнула и отошла от доктора к Пьеру. Она особенно почтительно и нежно грустно обратилась к Пьеру.
– Ayez confiance en Sa misericorde, [Доверьтесь Его милосердию,] – сказала она ему, указав ему диванчик, чтобы сесть подождать ее, сама неслышно направилась к двери, на которую все смотрели, и вслед за чуть слышным звуком этой двери скрылась за нею.
Пьер, решившись во всем повиноваться своей руководительнице, направился к диванчику, который она ему указала. Как только Анна Михайловна скрылась, он заметил, что взгляды всех, бывших в комнате, больше чем с любопытством и с участием устремились на него. Он заметил, что все перешептывались, указывая на него глазами, как будто со страхом и даже с подобострастием. Ему оказывали уважение, какого прежде никогда не оказывали: неизвестная ему дама, которая говорила с духовными лицами, встала с своего места и предложила ему сесть, адъютант поднял уроненную Пьером перчатку и подал ему; доктора почтительно замолкли, когда он проходил мимо их, и посторонились, чтобы дать ему место. Пьер хотел сначала сесть на другое место, чтобы не стеснять даму, хотел сам поднять перчатку и обойти докторов, которые вовсе и не стояли на дороге; но он вдруг почувствовал, что это было бы неприлично, он почувствовал, что он в нынешнюю ночь есть лицо, которое обязано совершить какой то страшный и ожидаемый всеми обряд, и что поэтому он должен был принимать от всех услуги. Он принял молча перчатку от адъютанта, сел на место дамы, положив свои большие руки на симметрично выставленные колени, в наивной позе египетской статуи, и решил про себя, что всё это так именно должно быть и что ему в нынешний вечер, для того чтобы не потеряться и не наделать глупостей, не следует действовать по своим соображениям, а надобно предоставить себя вполне на волю тех, которые руководили им.
Не прошло и двух минут, как князь Василий, в своем кафтане с тремя звездами, величественно, высоко неся голову, вошел в комнату. Он казался похудевшим с утра; глаза его были больше обыкновенного, когда он оглянул комнату и увидал Пьера. Он подошел к нему, взял руку (чего он прежде никогда не делал) и потянул ее книзу, как будто он хотел испытать, крепко ли она держится.
– Courage, courage, mon ami. Il a demande a vous voir. C'est bien… [Не унывать, не унывать, мой друг. Он пожелал вас видеть. Это хорошо…] – и он хотел итти.
Но Пьер почел нужным спросить:
– Как здоровье…
Он замялся, не зная, прилично ли назвать умирающего графом; назвать же отцом ему было совестно.
– Il a eu encore un coup, il y a une demi heure. Еще был удар. Courage, mon аmi… [Полчаса назад у него был еще удар. Не унывать, мой друг…]
Пьер был в таком состоянии неясности мысли, что при слове «удар» ему представился удар какого нибудь тела. Он, недоумевая, посмотрел на князя Василия и уже потом сообразил, что ударом называется болезнь. Князь Василий на ходу сказал несколько слов Лоррену и прошел в дверь на цыпочках. Он не умел ходить на цыпочках и неловко подпрыгивал всем телом. Вслед за ним прошла старшая княжна, потом прошли духовные лица и причетники, люди (прислуга) тоже прошли в дверь. За этою дверью послышалось передвиженье, и наконец, всё с тем же бледным, но твердым в исполнении долга лицом, выбежала Анна Михайловна и, дотронувшись до руки Пьера, сказала:
– La bonte divine est inepuisable. C'est la ceremonie de l'extreme onction qui va commencer. Venez. [Милосердие Божие неисчерпаемо. Соборование сейчас начнется. Пойдемте.]
Пьер прошел в дверь, ступая по мягкому ковру, и заметил, что и адъютант, и незнакомая дама, и еще кто то из прислуги – все прошли за ним, как будто теперь уж не надо было спрашивать разрешения входить в эту комнату.
Пьер хорошо знал эту большую, разделенную колоннами и аркой комнату, всю обитую персидскими коврами. Часть комнаты за колоннами, где с одной стороны стояла высокая красного дерева кровать, под шелковыми занавесами, а с другой – огромный киот с образами, была красно и ярко освещена, как бывают освещены церкви во время вечерней службы. Под освещенными ризами киота стояло длинное вольтеровское кресло, и на кресле, обложенном вверху снежно белыми, не смятыми, видимо, только – что перемененными подушками, укрытая до пояса ярко зеленым одеялом, лежала знакомая Пьеру величественная фигура его отца, графа Безухого, с тою же седою гривой волос, напоминавших льва, над широким лбом и с теми же характерно благородными крупными морщинами на красивом красно желтом лице. Он лежал прямо под образами; обе толстые, большие руки его были выпростаны из под одеяла и лежали на нем. В правую руку, лежавшую ладонью книзу, между большим и указательным пальцами вставлена была восковая свеча, которую, нагибаясь из за кресла, придерживал в ней старый слуга. Над креслом стояли духовные лица в своих величественных блестящих одеждах, с выпростанными на них длинными волосами, с зажженными свечами в руках, и медленно торжественно служили. Немного позади их стояли две младшие княжны, с платком в руках и у глаз, и впереди их старшая, Катишь, с злобным и решительным видом, ни на мгновение не спуская глаз с икон, как будто говорила всем, что не отвечает за себя, если оглянется. Анна Михайловна, с кроткою печалью и всепрощением на лице, и неизвестная дама стояли у двери. Князь Василий стоял с другой стороны двери, близко к креслу, за резным бархатным стулом, который он поворотил к себе спинкой, и, облокотив на нее левую руку со свечой, крестился правою, каждый раз поднимая глаза кверху, когда приставлял персты ко лбу. Лицо его выражало спокойную набожность и преданность воле Божией. «Ежели вы не понимаете этих чувств, то тем хуже для вас», казалось, говорило его лицо.
Сзади его стоял адъютант, доктора и мужская прислуга; как бы в церкви, мужчины и женщины разделились. Всё молчало, крестилось, только слышны были церковное чтение, сдержанное, густое басовое пение и в минуты молчания перестановка ног и вздохи. Анна Михайловна, с тем значительным видом, который показывал, что она знает, что делает, перешла через всю комнату к Пьеру и подала ему свечу. Он зажег ее и, развлеченный наблюдениями над окружающими, стал креститься тою же рукой, в которой была свеча.
(перенаправлено с «Сравнение фреймворков веб-приложений»)
Это сравнительная таблица фреймворков веб-приложений.
Фреймворки
Основная информация о каждом из фреймворков.
ASP.NET
См. также: ASP.NET и Список .NET-языков
Проект | Язык | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|---|
ASP.NET MVC Framework (ASP.NET MVC) | ASP.NET | 5.2 | 01.07.2014 | Apache v2[1] |
Base One Foundation Component Library (BFC) | ASP.NET | 7.43 | 15.01.2011 | Проприетарная |
Component-based Scalable Logical Architecture (CSLA) | C#, Visual Basic .NET | 4.3.10 | 04.03.2012 | Проприетарная freeware, без ограничений на использование |
DotNetNuke | ASP.NET | 6.01.02 | 25.07.2011 | MIT |
Kentico | ASP.NET | 6.0 | 10.10.2011 | Проприетарная |
MonoRail | ASP.NET | 2.1 RC | 17.03.2011 | Apache |
OpenRasta | ASP.NET | 2.0 RC | 04.11.2009 | MIT |
Nancy | C#, Visual Basic .NET | 0.6.0 | 06.2011 | MIT |
C++
См. также: C++
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
CppCMS | 1.0.2 | 14.08.2012 | LGPL, Проприетарная |
Tntnet | 2.1 | 02.04.2012 | LGPL |
Wt | 3.2.2-p1 | 27.07.2012 | GPL, Проприетарная |
ColdFusion Markup Language (CFML)
См. также: ColdFusion
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
ColdBox Platform | 3.5.2 | 01.08.2012 | Apache v2 |
ColdFusion on Wheels | 1.1.7 | 14.12.2011 | Apache v2 |
ColdSpring | 1.2 | 12.09.2008 | Apache v2 |
Fusebox | 5.5.1 | 08.03.2008 | Apache |
FW/1 | 1.2 | 18.10.2010 | Apache v2 |
Mach-II | 1.8.1 | 20.09.2010 | GPLv3 with Classpath exception |
Model-Glue | 3.1.185 | 11.08.2009 | Apache |
onTap | 3.3 | 07.11.2009 | BSD |
ECMAScript
См. также: ECMAScript
Проект | Язык | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|---|
Flex | ActionScript, MXML | 4.8 | 25.07.2012 | Apache |
Java
См. также: Java и Java (программная платформа)
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Apache Click | 2.3.0 | 27.03.2011 | Apache Software License 2.0 (ASL 2.0) |
Apache OFBiz | 10.04.02 | 30.04.2010 | Apache Software License 2.0 (ASL 2.0) |
Apache Shale | 1.0.4 | 19.12.2007 | Apache |
Apache Sling | 6 | 18.04.2011 | Apache 2.0 |
Apache Struts | 2.3.4 | 12.05.2012 | Apache 2.0 |
Apache Tapestry | 5.3.5 | 30.08.2012 | Apache |
Liferay | 6.2.3 | 17.04.2015 | Apache |
Apache Wicket | 6.0 | 05.09.2012 | Apache |
AppFuse | 2.1 | 04.04.2011 | Apache |
Eclipse RAP | 1.4.1 | 23.09.2011 | Eclipse |
FormEngine | 2.0.1 | 08.05.2012 | MIT, Проприетарная |
Grails | 3.1.3 | 03.03.2016 | Apache 2.0 |
Google Web Toolkit | 2.7.0 | 20.11.2014 | Apache |
Hamlets | 1.7 | 11.03.2011 | BSD |
ItsNat | 1.2 | 24.05.2011 | LGPL, Проприетарная |
JavaServer Faces | 2.2.13 | 04.02.2016 | Implementation dependent |
JBoss Seam | 3.1.0 final | 13.01.2012 | LGPL |
Jspx-bay | 1.1.0 | 17.02.2011 | Apache 2.0 |
JVx WebUI | 0.9 | 01.04.2011 | Apache 2.0 |
ManyDesigns Portofino | 3.1.10 | 22.03.2011 | GPLv3 |
OpenLaszlo | 4.9.0 | 21.10.2010 | CPL |
OpenXava | 4.5 | 19.07.2012 | LGPL |
Oracle ADF | 11.1.1.5 | 06.05.2011 | Oracle Technology Network Developer License |
Play! | 2.2.2 | 01.03.2014 | Apache 2.0 |
RIFE | 1.6.1 | 14.07.2007 | CDDL, LGPL |
SmartClient | 8.0 | 05.01.2011 | LGPL |
Spring | 4.2.5 | 25.02.2016 | Apache 2.0 |
Stripes | 1.5.8 | 07.07.2014 | Apache 2.0 |
ThinWire | 1.2 | 17.09.2007 | GPL |
Vaadin | 6.7.6 | 06.03.2012 | Apache |
Wavemaker | 6.3.3 | 22.09.2011 | Apache |
WebObjects | 5.4.3 | 15.09.2008 | Проприетарная |
WebWork | 2.2.6 | 21.07.2007 | Apache |
ZK | 7.0.0 | 26.11.2013 | LGPL, ZOL |
ztemplates | 2.4.0 | 11.09.2011 | Apache |
JavaScript
См. также: JavaScript
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
multiple frameworks based on node.js | 0.8.9 | 11.07.2012 | MIT |
qooxdoo | 4.1 | 16.12.2014 | LGPL or Eclipse |
SproutCore | 1.8 (beta 2.0) | 07.03.2012 | MIT |
WaveMaker (client side) | 6.3.3 | 22.09.2011 | Apache |
Scala
См. также: Scala
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Play! | 2.0.3 | 03.08.2012 | Apache 2.0 |
[spray.io/ Spray] | 2.0.3 | 03.08.2012 | Apache 2.0 |
Lift | 2.6 | 11.01.2015 | Apache 2.0 |
Perl
См. также: Perl
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Catalyst | 5.90012 | 19.05.2012 | Artistic, GPL |
Dancer | 1.3095 | 01.04.2012 | Artistic, GPL |
Mason | 2.19 | 02.05.2012 | Artistic, GPL |
Maypole | 2.13 | 18.04.2008 | Artistic, GPL |
Mojolicious | 6.6 | 21.06.2016 | Artistic |
Reaction | 0.002005 | 08.03.2011 | Artistic, GPL |
Kelp | 0.9071 | 03.04.2105 | Artistic, GPL |
PHP
См. также: PHP
Python
См. также: Python
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
BlueBream | 1.0 | 18.01.2011 | ZPL |
Bottle | 0.12 | 19.07.2013 | MIT |
CherryPy | 5.1.0 | 10.03.2016 | BSD |
CubicWeb | 3.20.4[14] | 06.02.2015 | LGPL |
Django | 1.9.7 | 04.06.2016 | BSD |
Flask | 0.10.1 | 14.06.2013[15] | BSD |
Grok | 1.4 | 04.04.2011 | ZPL |
Nagare | 0.4.1 | 18.01.2012 | BSD |
Plone | 5.0.0 | 28.09.2015 | GPL |
Pyjamas | 0.8 | 01.06.2012 | Apache |
Pylons | 1.0.0 | 28.05.2010 | BSD |
Pyramid | 1.5 | 08.04.2014 | BSD |
Tornado | 4.3[16] | 06.11.2015 | Apache |
TurboGears | 2.3.4 | 03.10.2014 | MIT, LGPL |
web2py | 2.9.12 | 17.01.2015[17] | LGPLv3 |
Webware | 1.1 | 03.08.2011 | Python |
Zope 2 | 2.13.15 | 22.06.2012[18] | ZPL |
Ruby
См. также: Ruby
Проект | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|
Camping | 2.1 | 20.08.2010 | MIT |
Hanami | 0.7.2 | 09.02.2016 | MIT |
Ruby on Rails | 4.2.6 | 11.03.2016 | MIT, Ruby |
Ramaze | 2011.07.25 | 25.07.2011 | Ruby |
Sinatra | 1.4.6 | 23.03.2015 | MIT |
Rango | 0.2 | 03.2009 | |
Merb | 1.1.2 | 17.06.2010 | MIT |
Nitro | 0.41 | 12.12.2006 | BSD |
Padrino | 0.12.5 | 22.02.2015 | MIT |
PureMVC | 2.0.4 | 14.08.2008 | CC +Attribution |
Другие
Проект | Язык | Последняя стабильная версия | Дата выпуска | Лицензия |
---|---|---|---|---|
AIDA/Web | Smalltalk | 6.5 | 27.08.2012 | MIT |
Application Express | PL/SQL | 4.2 | 15.10.2012 | Проприетарная freeware |
Grails | Groovy (JVM) | 2.0.1 | 14.02.2012 | Apache |
Kepler | Lua | 1.1.1 | 11.03.2009 | MIT |
Morfik | C#, BASIC, Pascal, Java | 3.0.8.1 | 13.12.2010 | Проприетарная freeware |
Noir | Clojure | 1.2.2 | ? | Eclipse |
Ocsigen | OCaml | 2.0.4 | 09.03.2012 | LGPL |
Opa | Opa | 1.0.5 | 02.08.2012 | MIT and AGPL |
OpenACS | Tcl | 5.8.1 | 25.10.2014 | GPL |
Seaside | Smalltalk | 3.0 | 13.09.2010 | MIT |
Compojure | Clojure | 1.0.1 | 08.01.2012 | Eclipse |
Zotonic | Erlang | 0.8.1 | 11.08.2012 | Apache |
Сравнение возможностей фреймворков
ASP.NET
Проект | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
ASP.NET MVC | Да | Да | Push | Да | ORM-independent | Unit tests, Functional Tests, Integration Tests | Entity Framework | ASP.NET Forms Authentication (Default), Pluggable | Razor (Default), ASPX, Pluggable | Да | Да (client-side via plugins) |
BFC | Да | Not mandatory | Push & pull | Да | via active Словарь данных | Unit tests | security groups and rules | Да | Метаданные, result sets | Data dictionary driven | |
DotNetNuke | Да | Нет | Pull | Да | SubSonic, NHibernate | Unit tests | Да | ACL-based (OpenID, LiveID, Active Directory, LDAP, Windows CardSpace, ASP.NET Forms Authentication) | Да | Pluggable | ASP.NET Validators, built-in API |
Kentico cms | Да | Да | Push & Pull | Да | Proprietary, customizable | Unit tests | Import toolkit | ACL-based (OpenID, LiveID, Active Directory, LDAP, Windows CardSpace, ASP.NET Forms Authentication, FB connect) | Да | Customizable | ASP.NET Validators, built-in API |
MonoRail | Prototype | ActiveRecord | Push | Да | ActiveRecord | Unit tests | via ASP.NET Forms Authentication | Да | Да | Да | |
OpenRasta | Нет | Да | Push | Да | ORM-independent | Unit tests | Нет | HTTP Digest and via ASP.NET Forms Authentication or host environment | Да | Нет | Нет |
C++
Проект | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
CppCMS | Да | Да | Push | Да | CppDB | Нет | Нет | Да | Да | Да | Да |
Wt | Да | Да | Push & Pull | Да | Wt::Dbo | Boost.test | Да | Нет | Нет | Да | |
Tntnet | Да | Нет | Нет | Да | Tntdb | Нет | Нет | Нет | Да | Нет | Нет |
ColdFusion Markup Language (CFML)
Проект | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
ColdBox Platform | Да | Да | Push-pull | Да | Да | via MockBox, MXUnit, others | via plugin | Да | Да | Да | via plugin |
ColdFusion on Wheels | Да | Да | via plugin [cfwheels.org/plugins/listing/38 jLingua] | Да | Да integrated RocketUnit | via plugin | Да | via plugin | Да | ||
Fusebox | via CF or any JavaScript library | optional | Push | Нет, custom | via lexicons for Transfer, Reactor | via MXUnit, others | Нет | via plugins | via lexicon for ColdSpring | Нет | |
Mach-II | via CF or any JavaScript library | Да | Push | via plugin | Transfer, Reactor, Hibernate | via MXUnit, others | via plugins | ColdSpring | |||
Model-Glue | via CF or any JavaScript library | Да | Push | Transfer, Reactor, Hibernate | via MXUnit, others | via plugins | ColdSpring | ||||
onTap | native features + Prototype + script.aculo.us | optional | Push | Да | DataFaucet [www.datafaucet.com] | via MXUnit, others | DataFaucet has potential — supports multiple db platforms | Members onTap Plugin | Да | Да | Да |
Проект | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
ECMAScript
Проект | Язык | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Flex | ActionScript, MXML | Not by name but similar technology[19] | [opensource.adobe.com/wiki/display/flexunit/ FlexUnit] |
Java
Проект | Язык | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Spring | Java | Да | Да | Push | Да | Hibernate, iBatis, more | Mock objects, unit tests | Spring Security (formerly Acegi) | JSP, Commons Tiles, Velocity, Thymeleaf, more | ehcache, more | Commons validator, Bean Validation | |
Apache Click | Java | jQuery | Page oriented | Pull | Да | Hibernate, Cayenne | Да | pluggable | Velocity, JSP | Cached templates | Built-in validation | |
Apache OFBiz | Java | Prototype | Да | Push-pull | Да | Entity Engine(OOTB ORM) | JUnit | Entity Engine Tools, Data File Tool, CSV Parser, Apache POI | OOTB Security framework | Freemarker(Recommended), Velocity(Support Available), JSP(Support Available) | OOTB Cache Maintenance | Server side validation, Client Side Validation(Prototype) |
Apache Sling | Java | Да | Да | Push-pull | Uses JCR content repository | Да | Да | Да | ||||
Apache Struts | Java | Да | Да | Push-pull | Да | Да | Unit tests | Да | Да | |||
Apache Wicket | Java | Extensions for YUI, ExtJS, more | Modular event driven | Pull | Да | with extensions | Mock objects, unit and integration tests via extension | Да | Да | Да | Да | |
FormEngine | Java | Да | Да | own connector API | Ajax validation on server and form state update | |||||||
ItsNat | Java | Да | event driven | Push | using Java i18n | external, built-in | pluggable | pure HTML-SVG | page caching | normal Java | ||
JavaServer Faces | Java | Да | Да | Pull | Да | с расширениями | JUnit | Да | Facelets, JSP | Да | Native validators, integration with Bean Validation | |
JBoss Seam | Java | Да | Да | Pull | Да | JPA, Hibernate | JUnit, TestNG | JAAS integration, Drools, Hibernate Filters, OpenID, CAPTCHA | Facelets | JBoss Cache, EHcache | Hibernate Validator | |
Jspx-bay | Java | Да | Page oriented | Own API | JAAS integration | Master-content pages | Internal UI validation controls | |||||
JVx WebUI | Java | Да | Model Driven | Да | pluggable | JUnit | Да | Single sourcing | pluggable | |||
OpenXava | Java | Да | Model Driven | Да | JPA, Hibernate, EJB2 CMP | JUnit | Hibernate tools | uses JSR-168 portal security | UI is automatically generated | uses portal and JPA caching | Да | |
Play | Java | Да | Да | Push-pull | Да | JPA, Hibernate | JUnit, Selenium | Да | via Core Security module | Да | Да | Server-side validation |
RIFE | Java | DWR | Да | Push-pull | Да | Да | Out of container testing | Да | Да | Integration with Terracotta | Да | |
Stripes | Java | Да | Да | Pull | Да | JPA, Hibernate | Да | framework extension | Да | Да | ||
Apache Tapestry | Java | Да | Да | Pull | Да | Hibernate and JPA | Selenium and TestNG or JUnit | external module: Tapestry-security (Apache Shiro) | Да | built-in validation system | ||
Vaadin | Java | GWT | Pull | Да | Да | Да | Да | Да | ||||
Wavemaker | JavaScript (client), Java (server) | Dojo Toolkit | Да | Push | Dojo Toolkit | Hibernate | JUnit | Hibernate | Spring Security (formerly Acegi), role-based access control | Dojo Toolkit | Dojo Toolkit | Regular expression, schema-driven validation |
WebObjects | Java | Да | Да | Push-pull | Да | EOF | WOUnit (JUnit), TestNG, Selenium | in Project WONDER | Да | Да | Да | |
ztemplates | Java JDK 1.5 or newer | integrates YUI, Google, etc., with annotations | Да | Push, multiple actions per URL | standard Java | use any J2EE ORM framework | Unit tests | annotation based | Velocity, FreeMarker, JSP, others pluggable | Ajax validation on server and form state update (YUI, JSON) | ||
Google Web Toolkit | Java, JavaScript | Да | Да | JPA with RequestFactory | JUnit (too early), jsUnit (too difficult), Selenium (best) | via Java | Да | Bean Validation | ||||
ZK | Java, ZUML | jQuery | Да | Push-pull | Да | any J2EE ORM framework | JUnit,[code.google.com/p/lift-ztl/ ZTL] | HibernateUtil, SpringUtil | Spring Security | Macro components & composition | Да | client, server |
Проект | Язык | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
JavaScript
Проект | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
qooxdoo | Да | [manual.qooxdoo.org/current/pages/data_binding.html Data binding] | [manual.qooxdoo.org/current/pages/development/internationalization.html i18n] | [manual.qooxdoo.org/current/pages/development.html#testing Testrunner] | [manual.qooxdoo.org/current/pages/gui_toolkit/ui_form_handling.html#validation Form Validation] | ||||||
SproutCore | Да | Да |
Perl
Проект | Язык | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Catalyst | Perl | Toolkit-independent (REST & JSON support, specific plugins for Prototype (фреймворк), more) | Да | Push in its most common usage | Да | DBIx::Class, Rose::DB::Object, more | Supports Perl testing standards, Test Anything Protocol (TAP) | ACL-based, external engines, more | Template::Toolkit, HTML::Template, HTML::Mason, PHP and any extant Perl template engine | Cache, memcached, shared memory, more | HTML::FormHandler HTML::FormFu, HTML::FormValidator, more | |
Dancer | Perl | Да | Да | Push | Да | DBIx::Class, ORMesque | Да | ? | ? | Template::Toolkit, HTML::Mason, Text::MicroTemplate, any extant Perl template engine | Cache, memcached, shared memory, more | DataFu, any extant Perl form validation software |
Interchange | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Mason | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Maypole | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Mojolicious | Perl | Toolkit-independent (REST & JSON support | No explicit model support though commonly used as MVC | Push | Да | Да | Нет | Test::Mojo | Нет | Да | Built-in Perl templating, Template::Toolkit and several others via plugins | Нет |
Reaction | Perl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
PHP
Проект | Создан | Язык | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) | Scaffolding |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AppFlower | 02.2009 | PHP 5 | ExtJS | Да | Push | Да | Propel | Да | Plugin exists | Plugin | Да | Да | Да | Да |
CakePHP | 08.2005 | PHP 5.2+ | Prototype, script.aculo.us, jQuery, jQuery UI, MooTools, MooTools More | Да | Push | Да | ActiveRecord (CakePHP 1.x), ActiveRecord (CakePHP 2.x) | Unit tests, object mocking, fixtures, code coverage, memory analysis with SimpleTest and XDebug PHPUnit (cakephp 2.0) | Да | ACL-based | Themes, layouts, views, elements | Memcache, XCache, APC, File | Validation, security | Да |
CodeIgniter | 01.2006 | PHP >= 5.2.4 | Any | Да | Push | Mostly[20] | Third party only | Ready for next release | Да | Да | Да | Да | Да | Нет[21] |
Drupal | 01.2001 | PHP | jQuery, jQuery UI, more | PAC | N/A | Да | Optional module | SimpleTest | Да | Да | Да | Memcache, APC, Varnish, more | Да | Нет |
FuelPHP | 10.2010 | PHP >= 5.3.x | Да | MVC, HMVC | Push | Да | Да | PHPUnit | Да | Да, Plugins available | Да, Plugins available | File, Redis, Memcache, more | Да | Да |
Fusebox | 11.1997 | PHP | Да | Not mandatory | Push | Нет, custom | Multiple plugins available | via qforms or built in PHP validation | Да | |||||
Joomla | 09.2005 | PHP >= 5.3.x | Да Mootools 1.3 | Да | Push-pull | Да | Да | Unit tests | Нет | Да | Да | Да | Да | Нет |
Kajona | 06.2004 | PHP 5 | Да | Да | Да | Да | Да | Unit tests | Automatic | Да | Да | Да | Да | Нет |
Midgard | 05.1999 | PHP | jQuery | MidCOM | Pull | Да | Midgard | PHPUnit | datagard | ACL-based | PHP, TAL | Memcache | Да | Нет |
PRADO | 07.2004 | PHP 5 (>=5.3.0) | Prototype, script.aculo.us, own components[22] | Да | Push-pull | Да | (DAO), ActiveRecord, SQLMap data mapper | PHPUnit | Нет | Да | XML-based, similar to ASP.NETs[23] | APC, Database, eAccelerator, memcached, XCache | Да[24] | Да[25] |
Qcodo | 10.2005 | PHP 5 | built-in | QControl | Push | Да | XML-based | Inherent | QForm and QControl | Да | Да | Нет | ||
SilverStripe (Sapphire) | 11.2005 | PHP 5 (>=5.2) | jQuery, jQuery UI | Push-pull | Да | ActiveRecord | Unit tests | Automatic | incl. OpenID | Да | Да | Да | ||
Symfony | 10.2005 | PHP 5 | Prototype, script.aculo.us, Unobtrusive Ajax with UJS and PJS plugins | Да | Push | Да | Propel, Doctrine (YAML) | Да | Plugin exists (alpha code) | Plugin | PHP, Twig | Да | Да | Да |
Symfony 2 | 2010 | PHP 5.3 | Prototype, script.aculo.us, Unobtrusive Ajax with UJS and PJS plugins | Да | Push | Да | Propel, Doctrine (YAML) | Да | Plugin exists (alpha code) | Plugin | PHP, Twig | Да | Да | Да |
Yii | 01.2008 | PHP 5 (>=5.1.0) | jQuery, jQuery UI, own components, plugins | Да | Push-pull | Да | (DAO), ActiveRecord, плагины (incl. Doctrine 2.0) | PHPUnit, Selenium | Да | ACL, RBAC, плагины | PHP, PRADO, плагины | APC, Database, eAccelerator, File, Memcache, Redis, WinCache, XCache, Zend Platform | Да | Да[26] |
Zend Framework | 03.2006 | PHP 5 (>=5.2.4) | Toolkit-independent | Да | Push-pull | Да | Table and row data gateway and Doctrine 2.0 for Zend Framework 2.0 | Unit tests | Да | ACL-based | Да | Да | Да | Нет |
Zikula | 06.2008 | PHP | Да | Да | N/A | Да | Да | PHPUnit | Да | Да | Да | Да | Да | Нет |
Python
Проект | Язык | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) | Python 3.* |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CherryPy | Python | Да | controller & URL dispatching | Да | ORM agnostic | использует unittest и doctest из stdlib | зависит от ORM | Templating engine agnostic | Да | Form validation engine agnostic | Да | ||
CubicWeb | Python | Да | controller & URL dispatching | Да | Да | Да | Да | Да | Да | Да | Да | Нет | |
Flask | Python | Да | Да | Push | Да | Да | Да | Да | Да | [jinja.pocoo.org/ Jinja2] | Да | Да | Да |
Grok | Python | Да | Да | Pull | Да | OODBMS called ZODB, SQLAlchemy, Storm | Unit tests, functional tests | ZODB Generations | Да | Да | Да | Да | |
Pyjamas | Python, JavaScript | Да | Use PureMVC Python version (compiled to JavaScript) | Да | ??, no direct data access | Нет | Нет | ||||||
Pylons | Python | helpers for Prototype and script.aculo.us | controller | Push | Да | ORM-agnostic | via nose | зависит от ORM | pluggable: Mako, Genshi, Myghty, Kid, другие | Beaker cache (memory, memcached, file, databases) | preferred formencode | Нет | |
Pyramid | Python | Да | Да | Push | Да | ORM-agnostic | Да | зависит от ORM | Да | pluggable: Chameleon, Genshi; Mako, more | Beaker cache (memory, memcached, file, databases) | preferred formencode | Да |
Django | Python | Да | Full stack | Push | Да | [docs.djangoproject.com/en/dev/topics/db/models/ Django ORM] | Да | Provided by [south.aeracode.org/ South] | ACL-based | [docs.djangoproject.com/en/dev/topics/templates/ Django Template Language] | [docs.djangoproject.com/en/dev/topics/cache/ Cache Framework] | [docs.djangoproject.com/en/dev/ref/forms/api/#ref-forms-api Django Forms API] | Да |
TurboGears | Python | Toolkit-independent, provides support via JSON | Full stack, best-of-breed based | Push | Да | SQLAlchemy | nose | [code.google.com/p/sqlalchemy-migrate/ SQLAlchemy-Migrate] | Repoze.what & Repoze.who | pluggable: Genshi, more | Support for memcached, and any WSGI compliant system | ToscaWidgets, utilizing [formencode.org FormEncode] | Нет |
web2py | Python | Да | Да | Push | Да | Да | Да | Да | Да | Да | Да | Да | Нет |
Webware | Python | Нет | Optional | Pull | Нет | Да | Да | Нет | Да | Да | Нет | Нет | Нет |
BlueBream (Zope 3) | Python | via add-on products, e.g. Plone w/KSS | Да | Pull | Да | ZODB, SQLObject, SQLAlchemy | Unit tests, functional tests | ZODB generations | ACL-based | Да | Да | Да | Нет |
Zope 2 | Python | Да | Pull | Да | ZODB, SQLObject, SQLAlchemy | Unit tests | ACL-based | Да | Да | CMFFormController | Нет | ||
mnml | Python | Нет | Нет | Нет | Нет | only development server | Нет | Templating engine agnostic | Нет | Form validation engine agnostic | Нет |
Ruby
Проект | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|
Camping | Нет | Да | Push | Нет | ActiveRecord | via Mosquito | Да | Нет | Да | Нет | Нет |
Nitro | jQuery | Да | Push | Да | Og | RSpec | (automatic) | Да | Да | Да | Да |
Ruby on Rails | Prototype, script.aculo.us, jQuery | ActiveRecord, Action Pack | Push | Да | ActiveRecord | Unit Tests, Functional Tests and Integration Tests | Да | Plug-in | Да | Да | Да |
Sinatra | jQuery | Да | Push | Да | ORM-independent | rack-test | Да | through a Rack middleware | Да | through a Rack middleware | Нет |
Другие
Проект | Язык | Ajax | MVC framework | MVC push-pull | i18n & L10n? | ORM | Testing framework(s) | DB migration framework(s) | Security framework(s) | Template framework(s) | Caching framework(s) | Form validation framework(s) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
AIDA/Web | Smalltalk | Да | Да | Да | Gemstone/S, GLORP, more | SUnit | Да | Да | ||||
Application Express | PL/SQL | Да | Да | Да | Да | Да | ||||||
Grails | Groovy | Да | ActiveRecord | Push | Да | GORM, Hibernate | Unit tests, integration test, functional test | multiple plugins: autobase, dbmigrate, more | Spring Security,[27] Apache Shiro[28] | Да | Да | Да |
Kepler | Lua | Да | ||||||||||
Lift | Scala | Да | Да | Pull | Да | Да | Да | Да | Да | Да | Да | |
Ocsigen | OCaml | Да | Да | Да | ||||||||
Opa | Opa | Да | Да | MongoDB | Да | Да | Да | |||||
OpenACS | Tcl | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | |
Seaside | Smalltalk | jQuery, jQuery UI, Prototype JavaScript Framework, script.aculo.us, more | Да | Да | GLORP, Gemstone/S, more | Unit tests, SUnit | Нет, intentionally | [www.lukas-renggli.ch/smalltalk/magritte Magritte] |
Напишите отзыв о статье "Сравнение каркасов веб-приложений"
Примечания
- ↑ [weblogs.asp.net/scottgu/archive/2012/03/27/asp-net-mvc-web-api-razor-and-open-source.aspx ASP.NET MVC, Web API, Razor and Open Source — ScottGu’s Blog]
- ↑ [bakery.cakephp.org/articles/markstory/2012/09/01/cakephp_2_2_2_release CakePHP 2.2.2 release :: The Bakery: Everything CakePHP]
- ↑ [forum.codeigniter.com/thread-1657.html CodeIgniter 3.0]
- ↑ [www.horde.org/download/horde Downloads — The Horde Project]
- ↑ [www.kajona.de/newsdetails.Kajona-V3-4-1-is-completed.newsDetail.0dbe0484eb6ba3555b72.en.html Kajona V3.4.1 is completed! | News | Kajona]
- ↑ www.midgard-project.org/updates/midgard_10-05-6_ratatoskr_lts_released/
- ↑ [modx.com/download/ Download Distribution | MODX]
- ↑ [blog.phalconphp.com/post/phalcon-2-0-6-released Phalcon 2.0.6 released]
- ↑ [www.qcodo.com/forums/forum.php/5/4377/ Qcodo Development Framework — Forums]
- ↑ [chermenin.github.io/sija Sija Framework]
- ↑ [symfony.com/blog/symfony-2-1-3-released Symfony 2.1.3 released — Symfony]
- ↑ [framework.zend.com/blog/zend-framework-2-0-0-stable-released.html Zend Framework 2.0.0 STABLE Released! — Zend Framework — Zend Framework]
- ↑ [ezcomponents.org/resources/news/news-2010-03-22 eZ Components — Resources — News Archive]
- ↑ [www.cubicweb.org/project/cubicweb/3.15.2 cubicweb 3.15.2 (CubicWeb’s Forge)]
- ↑ [flask.pocoo.org/docs/changelog/ Flask Changelog]
- ↑ [www.tornadoweb.org/documentation/releases/v2.3.0.html What’s new in Tornado 2.3 — Tornado 2.4 documentation]
- ↑ [web2py.com/examples/default/download web2py Web Framework]
- ↑ [zope2.zope.org/releases Getting Zope 2 — The Zope 2 Application Server]
- ↑ [livedocs.adobe.com/flex/3/langref/flash/net/URLRequest.html URLRequest]
- ↑ [codeigniter.com/user_guide/libraries/language.html Language helper included, must activate & set desired language by parsing HTTP headers.]
- ↑ [codeigniter.com/user_guide/changelog.html Change Log : CodeIgniter User Guide]. EllisLab, Inc.. Проверено 19 марта 2012. [www.webcitation.org/6DHr9MOJf Архивировано из первоисточника 30 декабря 2012].
- ↑ [www.pradosoft.com/demos/quickstart/?page=ActiveControls.Home PRADO QuickStart Tutorial]
- ↑ [www.pradosoft.com/demos/quickstart/?page=Configurations.Templates1 PRADO QuickStart Tutorial]
- ↑ [www.pradosoft.com/demos/quickstart/?page=Controls.Validation PRADO QuickStart Tutorial]
- ↑ [www.pradosoft.com/demos/quickstart/?page=Database.Scaffold PRADO QuickStart Tutorial]
- ↑ [www.yiiframework.com/doc/blog/1.1/en/prototype.scaffold Initial Prototyping: Scaffolding | Building a Blog System Using Yii | Yii Framework]
- ↑ [grails.org/plugin/spring-security-core Spring Security plugin]
- ↑ [grails.org/plugin/shiro Apache Shiro plugin]
См. также
- Каркас веб-приложений
- Content management systems
- Content Management Framework
- Java view technologies and frameworks
Отрывок, характеризующий Сравнение каркасов веб-приложений
– Семен! Данилу Купора знаешь?Это был любимый танец графа, танцованный им еще в молодости. (Данило Купор была собственно одна фигура англеза .)
– Смотрите на папа, – закричала на всю залу Наташа (совершенно забыв, что она танцует с большим), пригибая к коленам свою кудрявую головку и заливаясь своим звонким смехом по всей зале.
Действительно, всё, что только было в зале, с улыбкою радости смотрело на веселого старичка, который рядом с своею сановитою дамой, Марьей Дмитриевной, бывшей выше его ростом, округлял руки, в такт потряхивая ими, расправлял плечи, вывертывал ноги, слегка притопывая, и всё более и более распускавшеюся улыбкой на своем круглом лице приготовлял зрителей к тому, что будет. Как только заслышались веселые, вызывающие звуки Данилы Купора, похожие на развеселого трепачка, все двери залы вдруг заставились с одной стороны мужскими, с другой – женскими улыбающимися лицами дворовых, вышедших посмотреть на веселящегося барина.
– Батюшка то наш! Орел! – проговорила громко няня из одной двери.
Граф танцовал хорошо и знал это, но его дама вовсе не умела и не хотела хорошо танцовать. Ее огромное тело стояло прямо с опущенными вниз мощными руками (она передала ридикюль графине); только одно строгое, но красивое лицо ее танцовало. Что выражалось во всей круглой фигуре графа, у Марьи Дмитриевны выражалось лишь в более и более улыбающемся лице и вздергивающемся носе. Но зато, ежели граф, всё более и более расходясь, пленял зрителей неожиданностью ловких выверток и легких прыжков своих мягких ног, Марья Дмитриевна малейшим усердием при движении плеч или округлении рук в поворотах и притопываньях, производила не меньшее впечатление по заслуге, которую ценил всякий при ее тучности и всегдашней суровости. Пляска оживлялась всё более и более. Визави не могли ни на минуту обратить на себя внимания и даже не старались о том. Всё было занято графом и Марьею Дмитриевной. Наташа дергала за рукава и платье всех присутствовавших, которые и без того не спускали глаз с танцующих, и требовала, чтоб смотрели на папеньку. Граф в промежутках танца тяжело переводил дух, махал и кричал музыкантам, чтоб они играли скорее. Скорее, скорее и скорее, лише, лише и лише развертывался граф, то на цыпочках, то на каблуках, носясь вокруг Марьи Дмитриевны и, наконец, повернув свою даму к ее месту, сделал последнее па, подняв сзади кверху свою мягкую ногу, склонив вспотевшую голову с улыбающимся лицом и округло размахнув правою рукой среди грохота рукоплесканий и хохота, особенно Наташи. Оба танцующие остановились, тяжело переводя дыхание и утираясь батистовыми платками.
– Вот как в наше время танцовывали, ma chere, – сказал граф.
– Ай да Данила Купор! – тяжело и продолжительно выпуская дух и засучивая рукава, сказала Марья Дмитриевна.
В то время как у Ростовых танцовали в зале шестой англез под звуки от усталости фальшививших музыкантов, и усталые официанты и повара готовили ужин, с графом Безухим сделался шестой удар. Доктора объявили, что надежды к выздоровлению нет; больному дана была глухая исповедь и причастие; делали приготовления для соборования, и в доме была суетня и тревога ожидания, обыкновенные в такие минуты. Вне дома, за воротами толпились, скрываясь от подъезжавших экипажей, гробовщики, ожидая богатого заказа на похороны графа. Главнокомандующий Москвы, который беспрестанно присылал адъютантов узнавать о положении графа, в этот вечер сам приезжал проститься с знаменитым Екатерининским вельможей, графом Безухим.
Великолепная приемная комната была полна. Все почтительно встали, когда главнокомандующий, пробыв около получаса наедине с больным, вышел оттуда, слегка отвечая на поклоны и стараясь как можно скорее пройти мимо устремленных на него взглядов докторов, духовных лиц и родственников. Князь Василий, похудевший и побледневший за эти дни, провожал главнокомандующего и что то несколько раз тихо повторил ему.
Проводив главнокомандующего, князь Василий сел в зале один на стул, закинув высоко ногу на ногу, на коленку упирая локоть и рукою закрыв глаза. Посидев так несколько времени, он встал и непривычно поспешными шагами, оглядываясь кругом испуганными глазами, пошел чрез длинный коридор на заднюю половину дома, к старшей княжне.
Находившиеся в слабо освещенной комнате неровным шопотом говорили между собой и замолкали каждый раз и полными вопроса и ожидания глазами оглядывались на дверь, которая вела в покои умирающего и издавала слабый звук, когда кто нибудь выходил из нее или входил в нее.
– Предел человеческий, – говорил старичок, духовное лицо, даме, подсевшей к нему и наивно слушавшей его, – предел положен, его же не прейдеши.
– Я думаю, не поздно ли соборовать? – прибавляя духовный титул, спрашивала дама, как будто не имея на этот счет никакого своего мнения.
– Таинство, матушка, великое, – отвечало духовное лицо, проводя рукою по лысине, по которой пролегало несколько прядей зачесанных полуседых волос.
– Это кто же? сам главнокомандующий был? – спрашивали в другом конце комнаты. – Какой моложавый!…
– А седьмой десяток! Что, говорят, граф то не узнает уж? Хотели соборовать?
– Я одного знал: семь раз соборовался.
Вторая княжна только вышла из комнаты больного с заплаканными глазами и села подле доктора Лоррена, который в грациозной позе сидел под портретом Екатерины, облокотившись на стол.
– Tres beau, – говорил доктор, отвечая на вопрос о погоде, – tres beau, princesse, et puis, a Moscou on se croit a la campagne. [прекрасная погода, княжна, и потом Москва так похожа на деревню.]
– N'est ce pas? [Не правда ли?] – сказала княжна, вздыхая. – Так можно ему пить?
Лоррен задумался.
– Он принял лекарство?
– Да.
Доктор посмотрел на брегет.
– Возьмите стакан отварной воды и положите une pincee (он своими тонкими пальцами показал, что значит une pincee) de cremortartari… [щепотку кремортартара…]
– Не пило слушай , – говорил немец доктор адъютанту, – чтопи с третий удар шивь оставался .
– А какой свежий был мужчина! – говорил адъютант. – И кому пойдет это богатство? – прибавил он шопотом.
– Окотник найдутся , – улыбаясь, отвечал немец.
Все опять оглянулись на дверь: она скрипнула, и вторая княжна, сделав питье, показанное Лорреном, понесла его больному. Немец доктор подошел к Лоррену.
– Еще, может, дотянется до завтрашнего утра? – спросил немец, дурно выговаривая по французски.
Лоррен, поджав губы, строго и отрицательно помахал пальцем перед своим носом.
– Сегодня ночью, не позже, – сказал он тихо, с приличною улыбкой самодовольства в том, что ясно умеет понимать и выражать положение больного, и отошел.
Между тем князь Василий отворил дверь в комнату княжны.
В комнате было полутемно; только две лампадки горели перед образами, и хорошо пахло куреньем и цветами. Вся комната была установлена мелкою мебелью шифоньерок, шкапчиков, столиков. Из за ширм виднелись белые покрывала высокой пуховой кровати. Собачка залаяла.
– Ах, это вы, mon cousin?
Она встала и оправила волосы, которые у нее всегда, даже и теперь, были так необыкновенно гладки, как будто они были сделаны из одного куска с головой и покрыты лаком.
– Что, случилось что нибудь? – спросила она. – Я уже так напугалась.
– Ничего, всё то же; я только пришел поговорить с тобой, Катишь, о деле, – проговорил князь, устало садясь на кресло, с которого она встала. – Как ты нагрела, однако, – сказал он, – ну, садись сюда, causons. [поговорим.]
– Я думала, не случилось ли что? – сказала княжна и с своим неизменным, каменно строгим выражением лица села против князя, готовясь слушать.
– Хотела уснуть, mon cousin, и не могу.
– Ну, что, моя милая? – сказал князь Василий, взяв руку княжны и пригибая ее по своей привычке книзу.
Видно было, что это «ну, что» относилось ко многому такому, что, не называя, они понимали оба.
Княжна, с своею несообразно длинною по ногам, сухою и прямою талией, прямо и бесстрастно смотрела на князя выпуклыми серыми глазами. Она покачала головой и, вздохнув, посмотрела на образа. Жест ее можно было объяснить и как выражение печали и преданности, и как выражение усталости и надежды на скорый отдых. Князь Василий объяснил этот жест как выражение усталости.
– А мне то, – сказал он, – ты думаешь, легче? Je suis ereinte, comme un cheval de poste; [Я заморен, как почтовая лошадь;] а всё таки мне надо с тобой поговорить, Катишь, и очень серьезно.
Князь Василий замолчал, и щеки его начинали нервически подергиваться то на одну, то на другую сторону, придавая его лицу неприятное выражение, какое никогда не показывалось на лице князя Василия, когда он бывал в гостиных. Глаза его тоже были не такие, как всегда: то они смотрели нагло шутливо, то испуганно оглядывались.
Княжна, своими сухими, худыми руками придерживая на коленях собачку, внимательно смотрела в глаза князю Василию; но видно было, что она не прервет молчания вопросом, хотя бы ей пришлось молчать до утра.
– Вот видите ли, моя милая княжна и кузина, Катерина Семеновна, – продолжал князь Василий, видимо, не без внутренней борьбы приступая к продолжению своей речи, – в такие минуты, как теперь, обо всём надо подумать. Надо подумать о будущем, о вас… Я вас всех люблю, как своих детей, ты это знаешь.
Княжна так же тускло и неподвижно смотрела на него.
– Наконец, надо подумать и о моем семействе, – сердито отталкивая от себя столик и не глядя на нее, продолжал князь Василий, – ты знаешь, Катишь, что вы, три сестры Мамонтовы, да еще моя жена, мы одни прямые наследники графа. Знаю, знаю, как тебе тяжело говорить и думать о таких вещах. И мне не легче; но, друг мой, мне шестой десяток, надо быть ко всему готовым. Ты знаешь ли, что я послал за Пьером, и что граф, прямо указывая на его портрет, требовал его к себе?
Князь Василий вопросительно посмотрел на княжну, но не мог понять, соображала ли она то, что он ей сказал, или просто смотрела на него…
– Я об одном не перестаю молить Бога, mon cousin, – отвечала она, – чтоб он помиловал его и дал бы его прекрасной душе спокойно покинуть эту…
– Да, это так, – нетерпеливо продолжал князь Василий, потирая лысину и опять с злобой придвигая к себе отодвинутый столик, – но, наконец…наконец дело в том, ты сама знаешь, что прошлою зимой граф написал завещание, по которому он всё имение, помимо прямых наследников и нас, отдавал Пьеру.
– Мало ли он писал завещаний! – спокойно сказала княжна. – Но Пьеру он не мог завещать. Пьер незаконный.
– Ma chere, – сказал вдруг князь Василий, прижав к себе столик, оживившись и начав говорить скорей, – но что, ежели письмо написано государю, и граф просит усыновить Пьера? Понимаешь, по заслугам графа его просьба будет уважена…
Княжна улыбнулась, как улыбаются люди, которые думают что знают дело больше, чем те, с кем разговаривают.
– Я тебе скажу больше, – продолжал князь Василий, хватая ее за руку, – письмо было написано, хотя и не отослано, и государь знал о нем. Вопрос только в том, уничтожено ли оно, или нет. Ежели нет, то как скоро всё кончится , – князь Василий вздохнул, давая этим понять, что он разумел под словами всё кончится , – и вскроют бумаги графа, завещание с письмом будет передано государю, и просьба его, наверно, будет уважена. Пьер, как законный сын, получит всё.
– А наша часть? – спросила княжна, иронически улыбаясь так, как будто всё, но только не это, могло случиться.
– Mais, ma pauvre Catiche, c'est clair, comme le jour. [Но, моя дорогая Катишь, это ясно, как день.] Он один тогда законный наследник всего, а вы не получите ни вот этого. Ты должна знать, моя милая, были ли написаны завещание и письмо, и уничтожены ли они. И ежели почему нибудь они забыты, то ты должна знать, где они, и найти их, потому что…
– Этого только недоставало! – перебила его княжна, сардонически улыбаясь и не изменяя выражения глаз. – Я женщина; по вашему мы все глупы; но я настолько знаю, что незаконный сын не может наследовать… Un batard, [Незаконный,] – прибавила она, полагая этим переводом окончательно показать князю его неосновательность.
– Как ты не понимаешь, наконец, Катишь! Ты так умна: как ты не понимаешь, – ежели граф написал письмо государю, в котором просит его признать сына законным, стало быть, Пьер уж будет не Пьер, а граф Безухой, и тогда он по завещанию получит всё? И ежели завещание с письмом не уничтожены, то тебе, кроме утешения, что ты была добродетельна et tout ce qui s'en suit, [и всего, что отсюда вытекает,] ничего не останется. Это верно.
– Я знаю, что завещание написано; но знаю тоже, что оно недействительно, и вы меня, кажется, считаете за совершенную дуру, mon cousin, – сказала княжна с тем выражением, с которым говорят женщины, полагающие, что они сказали нечто остроумное и оскорбительное.
– Милая ты моя княжна Катерина Семеновна, – нетерпеливо заговорил князь Василий. – Я пришел к тебе не за тем, чтобы пикироваться с тобой, а за тем, чтобы как с родной, хорошею, доброю, истинною родной, поговорить о твоих же интересах. Я тебе говорю десятый раз, что ежели письмо к государю и завещание в пользу Пьера есть в бумагах графа, то ты, моя голубушка, и с сестрами, не наследница. Ежели ты мне не веришь, то поверь людям знающим: я сейчас говорил с Дмитрием Онуфриичем (это был адвокат дома), он то же сказал.
Видимо, что то вдруг изменилось в мыслях княжны; тонкие губы побледнели (глаза остались те же), и голос, в то время как она заговорила, прорывался такими раскатами, каких она, видимо, сама не ожидала.
– Это было бы хорошо, – сказала она. – Я ничего не хотела и не хочу.
Она сбросила свою собачку с колен и оправила складки платья.
– Вот благодарность, вот признательность людям, которые всем пожертвовали для него, – сказала она. – Прекрасно! Очень хорошо! Мне ничего не нужно, князь.
– Да, но ты не одна, у тебя сестры, – ответил князь Василий.
Но княжна не слушала его.
– Да, я это давно знала, но забыла, что, кроме низости, обмана, зависти, интриг, кроме неблагодарности, самой черной неблагодарности, я ничего не могла ожидать в этом доме…
– Знаешь ли ты или не знаешь, где это завещание? – спрашивал князь Василий еще с большим, чем прежде, подергиванием щек.
– Да, я была глупа, я еще верила в людей и любила их и жертвовала собой. А успевают только те, которые подлы и гадки. Я знаю, чьи это интриги.
Княжна хотела встать, но князь удержал ее за руку. Княжна имела вид человека, вдруг разочаровавшегося во всем человеческом роде; она злобно смотрела на своего собеседника.
– Еще есть время, мой друг. Ты помни, Катишь, что всё это сделалось нечаянно, в минуту гнева, болезни, и потом забыто. Наша обязанность, моя милая, исправить его ошибку, облегчить его последние минуты тем, чтобы не допустить его сделать этой несправедливости, не дать ему умереть в мыслях, что он сделал несчастными тех людей…
– Тех людей, которые всем пожертвовали для него, – подхватила княжна, порываясь опять встать, но князь не пустил ее, – чего он никогда не умел ценить. Нет, mon cousin, – прибавила она со вздохом, – я буду помнить, что на этом свете нельзя ждать награды, что на этом свете нет ни чести, ни справедливости. На этом свете надо быть хитрою и злою.
– Ну, voyons, [послушай,] успокойся; я знаю твое прекрасное сердце.
– Нет, у меня злое сердце.
– Я знаю твое сердце, – повторил князь, – ценю твою дружбу и желал бы, чтобы ты была обо мне того же мнения. Успокойся и parlons raison, [поговорим толком,] пока есть время – может, сутки, может, час; расскажи мне всё, что ты знаешь о завещании, и, главное, где оно: ты должна знать. Мы теперь же возьмем его и покажем графу. Он, верно, забыл уже про него и захочет его уничтожить. Ты понимаешь, что мое одно желание – свято исполнить его волю; я затем только и приехал сюда. Я здесь только затем, чтобы помогать ему и вам.
– Теперь я всё поняла. Я знаю, чьи это интриги. Я знаю, – говорила княжна.
– Hе в том дело, моя душа.
– Это ваша protegee, [любимица,] ваша милая княгиня Друбецкая, Анна Михайловна, которую я не желала бы иметь горничной, эту мерзкую, гадкую женщину.
– Ne perdons point de temps. [Не будем терять время.]
– Ax, не говорите! Прошлую зиму она втерлась сюда и такие гадости, такие скверности наговорила графу на всех нас, особенно Sophie, – я повторить не могу, – что граф сделался болен и две недели не хотел нас видеть. В это время, я знаю, что он написал эту гадкую, мерзкую бумагу; но я думала, что эта бумага ничего не значит.
– Nous у voila, [В этом то и дело.] отчего же ты прежде ничего не сказала мне?
– В мозаиковом портфеле, который он держит под подушкой. Теперь я знаю, – сказала княжна, не отвечая. – Да, ежели есть за мной грех, большой грех, то это ненависть к этой мерзавке, – почти прокричала княжна, совершенно изменившись. – И зачем она втирается сюда? Но я ей выскажу всё, всё. Придет время!
В то время как такие разговоры происходили в приемной и в княжниной комнатах, карета с Пьером (за которым было послано) и с Анной Михайловной (которая нашла нужным ехать с ним) въезжала во двор графа Безухого. Когда колеса кареты мягко зазвучали по соломе, настланной под окнами, Анна Михайловна, обратившись к своему спутнику с утешительными словами, убедилась в том, что он спит в углу кареты, и разбудила его. Очнувшись, Пьер за Анною Михайловной вышел из кареты и тут только подумал о том свидании с умирающим отцом, которое его ожидало. Он заметил, что они подъехали не к парадному, а к заднему подъезду. В то время как он сходил с подножки, два человека в мещанской одежде торопливо отбежали от подъезда в тень стены. Приостановившись, Пьер разглядел в тени дома с обеих сторон еще несколько таких же людей. Но ни Анна Михайловна, ни лакей, ни кучер, которые не могли не видеть этих людей, не обратили на них внимания. Стало быть, это так нужно, решил сам с собой Пьер и прошел за Анною Михайловной. Анна Михайловна поспешными шагами шла вверх по слабо освещенной узкой каменной лестнице, подзывая отстававшего за ней Пьера, который, хотя и не понимал, для чего ему надо было вообще итти к графу, и еще меньше, зачем ему надо было итти по задней лестнице, но, судя по уверенности и поспешности Анны Михайловны, решил про себя, что это было необходимо нужно. На половине лестницы чуть не сбили их с ног какие то люди с ведрами, которые, стуча сапогами, сбегали им навстречу. Люди эти прижались к стене, чтобы пропустить Пьера с Анной Михайловной, и не показали ни малейшего удивления при виде их.
– Здесь на половину княжен? – спросила Анна Михайловна одного из них…
– Здесь, – отвечал лакей смелым, громким голосом, как будто теперь всё уже было можно, – дверь налево, матушка.
– Может быть, граф не звал меня, – сказал Пьер в то время, как он вышел на площадку, – я пошел бы к себе.
Анна Михайловна остановилась, чтобы поровняться с Пьером.
– Ah, mon ami! – сказала она с тем же жестом, как утром с сыном, дотрогиваясь до его руки: – croyez, que je souffre autant, que vous, mais soyez homme. [Поверьте, я страдаю не меньше вас, но будьте мужчиной.]
– Право, я пойду? – спросил Пьер, ласково чрез очки глядя на Анну Михайловну.
– Ah, mon ami, oubliez les torts qu'on a pu avoir envers vous, pensez que c'est votre pere… peut etre a l'agonie. – Она вздохнула. – Je vous ai tout de suite aime comme mon fils. Fiez vous a moi, Pierre. Je n'oublirai pas vos interets. [Забудьте, друг мой, в чем были против вас неправы. Вспомните, что это ваш отец… Может быть, в агонии. Я тотчас полюбила вас, как сына. Доверьтесь мне, Пьер. Я не забуду ваших интересов.]
Пьер ничего не понимал; опять ему еще сильнее показалось, что всё это так должно быть, и он покорно последовал за Анною Михайловной, уже отворявшею дверь.
Дверь выходила в переднюю заднего хода. В углу сидел старик слуга княжен и вязал чулок. Пьер никогда не был на этой половине, даже не предполагал существования таких покоев. Анна Михайловна спросила у обгонявшей их, с графином на подносе, девушки (назвав ее милой и голубушкой) о здоровье княжен и повлекла Пьера дальше по каменному коридору. Из коридора первая дверь налево вела в жилые комнаты княжен. Горничная, с графином, второпях (как и всё делалось второпях в эту минуту в этом доме) не затворила двери, и Пьер с Анною Михайловной, проходя мимо, невольно заглянули в ту комнату, где, разговаривая, сидели близко друг от друга старшая княжна с князем Васильем. Увидав проходящих, князь Василий сделал нетерпеливое движение и откинулся назад; княжна вскочила и отчаянным жестом изо всей силы хлопнула дверью, затворяя ее.
Жест этот был так не похож на всегдашнее спокойствие княжны, страх, выразившийся на лице князя Василья, был так несвойствен его важности, что Пьер, остановившись, вопросительно, через очки, посмотрел на свою руководительницу.
Анна Михайловна не выразила удивления, она только слегка улыбнулась и вздохнула, как будто показывая, что всего этого она ожидала.
– Soyez homme, mon ami, c'est moi qui veillerai a vos interets, [Будьте мужчиною, друг мой, я же стану блюсти за вашими интересами.] – сказала она в ответ на его взгляд и еще скорее пошла по коридору.
Пьер не понимал, в чем дело, и еще меньше, что значило veiller a vos interets, [блюсти ваши интересы,] но он понимал, что всё это так должно быть. Коридором они вышли в полуосвещенную залу, примыкавшую к приемной графа. Это была одна из тех холодных и роскошных комнат, которые знал Пьер с парадного крыльца. Но и в этой комнате, посередине, стояла пустая ванна и была пролита вода по ковру. Навстречу им вышли на цыпочках, не обращая на них внимания, слуга и причетник с кадилом. Они вошли в знакомую Пьеру приемную с двумя итальянскими окнами, выходом в зимний сад, с большим бюстом и во весь рост портретом Екатерины. Все те же люди, почти в тех же положениях, сидели, перешептываясь, в приемной. Все, смолкнув, оглянулись на вошедшую Анну Михайловну, с ее исплаканным, бледным лицом, и на толстого, большого Пьера, который, опустив голову, покорно следовал за нею.
На лице Анны Михайловны выразилось сознание того, что решительная минута наступила; она, с приемами деловой петербургской дамы, вошла в комнату, не отпуская от себя Пьера, еще смелее, чем утром. Она чувствовала, что так как она ведет за собою того, кого желал видеть умирающий, то прием ее был обеспечен. Быстрым взглядом оглядев всех, бывших в комнате, и заметив графова духовника, она, не то что согнувшись, но сделавшись вдруг меньше ростом, мелкою иноходью подплыла к духовнику и почтительно приняла благословение одного, потом другого духовного лица.
– Слава Богу, что успели, – сказала она духовному лицу, – мы все, родные, так боялись. Вот этот молодой человек – сын графа, – прибавила она тише. – Ужасная минута!
Проговорив эти слова, она подошла к доктору.
– Cher docteur, – сказала она ему, – ce jeune homme est le fils du comte… y a t il de l'espoir? [этот молодой человек – сын графа… Есть ли надежда?]
Доктор молча, быстрым движением возвел кверху глаза и плечи. Анна Михайловна точно таким же движением возвела плечи и глаза, почти закрыв их, вздохнула и отошла от доктора к Пьеру. Она особенно почтительно и нежно грустно обратилась к Пьеру.
– Ayez confiance en Sa misericorde, [Доверьтесь Его милосердию,] – сказала она ему, указав ему диванчик, чтобы сесть подождать ее, сама неслышно направилась к двери, на которую все смотрели, и вслед за чуть слышным звуком этой двери скрылась за нею.
Пьер, решившись во всем повиноваться своей руководительнице, направился к диванчику, который она ему указала. Как только Анна Михайловна скрылась, он заметил, что взгляды всех, бывших в комнате, больше чем с любопытством и с участием устремились на него. Он заметил, что все перешептывались, указывая на него глазами, как будто со страхом и даже с подобострастием. Ему оказывали уважение, какого прежде никогда не оказывали: неизвестная ему дама, которая говорила с духовными лицами, встала с своего места и предложила ему сесть, адъютант поднял уроненную Пьером перчатку и подал ему; доктора почтительно замолкли, когда он проходил мимо их, и посторонились, чтобы дать ему место. Пьер хотел сначала сесть на другое место, чтобы не стеснять даму, хотел сам поднять перчатку и обойти докторов, которые вовсе и не стояли на дороге; но он вдруг почувствовал, что это было бы неприлично, он почувствовал, что он в нынешнюю ночь есть лицо, которое обязано совершить какой то страшный и ожидаемый всеми обряд, и что поэтому он должен был принимать от всех услуги. Он принял молча перчатку от адъютанта, сел на место дамы, положив свои большие руки на симметрично выставленные колени, в наивной позе египетской статуи, и решил про себя, что всё это так именно должно быть и что ему в нынешний вечер, для того чтобы не потеряться и не наделать глупостей, не следует действовать по своим соображениям, а надобно предоставить себя вполне на волю тех, которые руководили им.
Не прошло и двух минут, как князь Василий, в своем кафтане с тремя звездами, величественно, высоко неся голову, вошел в комнату. Он казался похудевшим с утра; глаза его были больше обыкновенного, когда он оглянул комнату и увидал Пьера. Он подошел к нему, взял руку (чего он прежде никогда не делал) и потянул ее книзу, как будто он хотел испытать, крепко ли она держится.
– Courage, courage, mon ami. Il a demande a vous voir. C'est bien… [Не унывать, не унывать, мой друг. Он пожелал вас видеть. Это хорошо…] – и он хотел итти.
Но Пьер почел нужным спросить:
– Как здоровье…
Он замялся, не зная, прилично ли назвать умирающего графом; назвать же отцом ему было совестно.
– Il a eu encore un coup, il y a une demi heure. Еще был удар. Courage, mon аmi… [Полчаса назад у него был еще удар. Не унывать, мой друг…]
Пьер был в таком состоянии неясности мысли, что при слове «удар» ему представился удар какого нибудь тела. Он, недоумевая, посмотрел на князя Василия и уже потом сообразил, что ударом называется болезнь. Князь Василий на ходу сказал несколько слов Лоррену и прошел в дверь на цыпочках. Он не умел ходить на цыпочках и неловко подпрыгивал всем телом. Вслед за ним прошла старшая княжна, потом прошли духовные лица и причетники, люди (прислуга) тоже прошли в дверь. За этою дверью послышалось передвиженье, и наконец, всё с тем же бледным, но твердым в исполнении долга лицом, выбежала Анна Михайловна и, дотронувшись до руки Пьера, сказала:
– La bonte divine est inepuisable. C'est la ceremonie de l'extreme onction qui va commencer. Venez. [Милосердие Божие неисчерпаемо. Соборование сейчас начнется. Пойдемте.]
Пьер прошел в дверь, ступая по мягкому ковру, и заметил, что и адъютант, и незнакомая дама, и еще кто то из прислуги – все прошли за ним, как будто теперь уж не надо было спрашивать разрешения входить в эту комнату.
Пьер хорошо знал эту большую, разделенную колоннами и аркой комнату, всю обитую персидскими коврами. Часть комнаты за колоннами, где с одной стороны стояла высокая красного дерева кровать, под шелковыми занавесами, а с другой – огромный киот с образами, была красно и ярко освещена, как бывают освещены церкви во время вечерней службы. Под освещенными ризами киота стояло длинное вольтеровское кресло, и на кресле, обложенном вверху снежно белыми, не смятыми, видимо, только – что перемененными подушками, укрытая до пояса ярко зеленым одеялом, лежала знакомая Пьеру величественная фигура его отца, графа Безухого, с тою же седою гривой волос, напоминавших льва, над широким лбом и с теми же характерно благородными крупными морщинами на красивом красно желтом лице. Он лежал прямо под образами; обе толстые, большие руки его были выпростаны из под одеяла и лежали на нем. В правую руку, лежавшую ладонью книзу, между большим и указательным пальцами вставлена была восковая свеча, которую, нагибаясь из за кресла, придерживал в ней старый слуга. Над креслом стояли духовные лица в своих величественных блестящих одеждах, с выпростанными на них длинными волосами, с зажженными свечами в руках, и медленно торжественно служили. Немного позади их стояли две младшие княжны, с платком в руках и у глаз, и впереди их старшая, Катишь, с злобным и решительным видом, ни на мгновение не спуская глаз с икон, как будто говорила всем, что не отвечает за себя, если оглянется. Анна Михайловна, с кроткою печалью и всепрощением на лице, и неизвестная дама стояли у двери. Князь Василий стоял с другой стороны двери, близко к креслу, за резным бархатным стулом, который он поворотил к себе спинкой, и, облокотив на нее левую руку со свечой, крестился правою, каждый раз поднимая глаза кверху, когда приставлял персты ко лбу. Лицо его выражало спокойную набожность и преданность воле Божией. «Ежели вы не понимаете этих чувств, то тем хуже для вас», казалось, говорило его лицо.
Сзади его стоял адъютант, доктора и мужская прислуга; как бы в церкви, мужчины и женщины разделились. Всё молчало, крестилось, только слышны были церковное чтение, сдержанное, густое басовое пение и в минуты молчания перестановка ног и вздохи. Анна Михайловна, с тем значительным видом, который показывал, что она знает, что делает, перешла через всю комнату к Пьеру и подала ему свечу. Он зажег ее и, развлеченный наблюдениями над окружающими, стал креститься тою же рукой, в которой была свеча.