How Microsoft Lost the API War
Jul. 29th, 2004 05:38 pm
Очень интересная статья How Microsoft Lost the API War (из известного веблога "Joel on Software"). Он говорит о том, что веб-приложения постепенно побеждают и в конечном итоге, видимо, победят Windows API.
Трудно сказать, как скоро это случится, потому что пока веб-интерфейс нельзя, конечно, и близко сравнить с нормальным десктопным приложением. Gmail делает некоторые попытки в этом направлении, и вот недавно Yahoo купила Oddpost только из-за того, что их веб-интерфейс гораздо ближе к нормальному GUI, чем собственный яховский (из чего следует заключить, что скоро Yahoo изменит свой интерфейс к лучшему). И, кроме того, Win32 API без всякого сомнения сам себя похоронил, наворотив жутких монстров Ole, COM и тысячи несуразных функций с безумными параметрами. Кто хоть раз пробовал писать программу, используя ATL, тот поймёт, что шанса у них не было. Как справедливо пишет Joel: "...dealing with (God help me) marshalling and monikers and apartment threading and aggregates and tearoffs and a million other things that, basically, only Don Box ever understood, and even Don Box can't bear to look at them any more". (Дон Бокс написал книжку про COM).
И вот ещё интересная статья на эту тему - The Location Field Is the New Command Line, у которой заголовок говорит сам за себя: в наше время вместо командной строки DOS мы набираем команды в поле для URL.
Вот, что он пишет по поводу Microsoft:
"Microsoft totally fucked up when they took aim at Netscape. It wasn’t Netscape that was a threat to Windows as an application platform, it was the web itself".
И ещё:
"I think Spolsky is very much correct that Microsoft is losing the API war. But what’s ironic is that they’re losing this war despite the fact that they won the browser war. Winning the browser war — destroying Netscape — was supposed to prevent there ever even being an API war".
Меня теперь очень интересует вопрос, что будет с веб-интерфейсом и как это всё разрешится. Понятно, что на убогом JavaScript'е далеко не уедешь, пусть даже Google и Oddpost превзошли самих себя.
Java applets, по видимому, умерли настолько прочно, что о них даже никто и не вспоминает, хотя это мне не совсем понятно: Swing отлично может работать в качестве веб-интерфейса, оставаясь при этом клиентом настоящего веб-приложения. Почему никто об этом даже не задумывается ? Или же это тяжёлое наследие AWT, не менее гнусного, чем JavaScript ?
Что-то должно продвинуться в этом направлении, только пока непонятно, что.
no subject
Date: 2004-07-29 02:10 am (UTC)"Windows developers, who disassembled SimCity, stepped through it in a debugger, found the bug, and added special code that checked if SimCity was running, and if it did, ran the memory allocator in a special mode in which you could still use memory after freeing it."
А Swing не умер, у нас вот большой проект с мудрым апплетом, а компания - мировой лидер в своей области \m/ \m/ :). Как показывает практика, можно сделать очень многое, вплоть до непозволения юзеру закрывать окно кнопкой в правом верхнем углу. Апплет signed, конечно. Да и Look&Feel можно создать вполне модерный..
no subject
Date: 2004-07-29 03:25 am (UTC)Про Swing: в том-то и дело, что я знаю, что он не умер. У нас тоже гигантский апплет, который управляет сложнейшей системой. Меня удивляет, что никто из этих "блоггеров" даже не упоминает Java в качестве возможной альтернативы. Может, не знают просто...
no subject
Date: 2004-08-19 03:07 am (UTC)no subject
Date: 2004-08-19 03:09 am (UTC)no subject
Date: 2004-08-19 03:30 am (UTC)Один из основных дефектов всей системы в том, что жаба препятствует развитию и созданию новых хардварных архитектур (и даже софтварных архитектур), предлагая взамен кривенькую обрубленную архитектуру своей жаба-машины. Кстати, странно, что в Сане этого не заметили, они же специализировались на железяках. Положение скоро очень сильно ухудшится -- аналогичные микрософтовские дегенераты нахерачили .NET
Вторая фишка в том, что сама Жаба является ограниченно-объектно-ориентированным языком. И это было-бы ничего, если-бы люди ходили так, как задумывалось Саном -- от С++ к Жабе. Сейчас люди идут от Жабы к С++, и что делать с кучей этих идиотов неизвестно.
Пресловутый маркетинговый лозунг Сана "написано один раз -- запускается везде" лишает индустрию охуенных баблосов на портирование. Просто одним своим существованием.
Ну и в конце - тормозная и кривая. Лично я занимаюсь разработкой мобильных телефонов (фирма Моторола) в области интерфейса и приложений. Так вот, недавно вышел у нас спор с сотрудником из Java team -- подразделения, которое пишет жаба-машину. Я ему говорю "она тормозная", он мне "да нифига, жабские апплеты исполняются быстрее, чем нативные"... Решили мы проверить -- действительно быстрее. В чём-же оказался секрет -- распределение процессорного времени -- жёстко зашито отдавать жабе 95% ресурсов системы.
Это значит, что покупая Моторольскую, да и любую другую мобилу ты 95% денег отдаёшь Сану... Блин, даже и не Сану, потому, что он их не получает... Просто спускаешь в унитаз. Что ты получаешь взамен? НИХУЯ.
no subject
Date: 2004-08-19 04:18 am (UTC)no subject
Date: 2004-08-19 03:06 am (UTC)no subject
Date: 2004-07-29 04:22 am (UTC)Зачем Java-приложение засовывать в апплет? Java была бы хорошей альтернативой если бы объектная модель броузера напрямую ее поддерживала, а не через какой-то плагин реализующий кастрированную виртульную машину.
no subject
Date: 2004-07-29 05:28 am (UTC)no subject
Date: 2004-07-29 05:41 am (UTC)К тому же, Java не является открытым стандартом, в отличии от того же .Net.
Мне кажется, что будет совершенствоваться JavaScript, т.е. обьектная модель документа и броузера. Даже сейчас на JavaScript можно сделать достаточно много.
no subject
Date: 2004-08-23 07:03 pm (UTC)no subject
Date: 2004-07-29 05:49 am (UTC)телефон ответил мне - антенкой у виска
имхо, все зависит от аппаратной базы:
в телефон выгоднее веб-аплеты пихать, и отлаживать их проще
для единой архитектуры конечно лучше прошивать все в биос - так быстрее - пример QNX...
где-то посередине и живет истина
no subject
Date: 2004-07-29 03:02 pm (UTC)no subject
Date: 2004-07-29 09:20 pm (UTC)no subject
Date: 2004-07-30 05:54 am (UTC)Мне она самому, честно говоря, не нравится. :) Однако у нее есть вполне реальный потенциал.
no subject
Date: 2004-08-19 03:34 am (UTC)no subject
Date: 2004-07-31 11:49 pm (UTC)no subject
Date: 2004-07-31 11:58 pm (UTC)no subject
Date: 2004-08-01 12:46 am (UTC)идеология asp.net - при каждом чихе лезть на сервер. так что javascript там - только скрипя сердцем (с), в принципе он и не нужен совсем, разве что чтобы post производить теми элементами интерфейса, которые сами не могут post произвести.
то есть в пределе - как можно более тупой клиент, которому для распаршивания даётся простой статический html. то есть - как раз противоположность джаваскрипту.
с другой стороны - мне нравится идея на серверной стороне писать web services, a клиента делать обычного win32. всё равно у всех виндовс есть.