С конца 2010 года было много голосов о предстоящей смерти Silverlight. Тогда все больше и больше фактов показывают, что Microsoft действительно постепенно отказывается от Silverlight. Основная причина примерно потому, что она ощущается давление HTML5, и прямая причина заключается в том, что он не достиг большой победы в соревнованиях со Flash.
Из-за популярности iPhone Jobs уверенно объявили, что все плагины браузера являются «злыми», поэтому браузеры iOS отклоняют любые плагины, включая Flash и, конечно, Silverlight. Затем, когда Metro-I-I в Win8 действительно похожа на разработанные задания и не поддерживает никаких плагинов, я все еще не мог поверить, что мои очки были сломаны. Почему Microsoft стала такой неуверенной и независимой?
1. Почему HTML5 не может заменить Silverlight (или Flash)Любой продукт - это инструмент. Я не дизайнер Silverlight и не испытываю к нему особых чувств. Если есть лучшая технология, которая может заменить ее, это здорово. Я буду первым, кто встанет, чтобы поддержать новый продукт. Но вопрос в том, может ли HTML5 действительно заменить Silverlight?
Silverlight - это жирный клиент, разработанный на языке C# (или VB.net). Эта линия определяет процесс разработки врожденно. Структура программы должна быть точно такой же, как и в приложениях Windows. На самом деле, это идет еще на шаг вперед. Линия, унаследованная Silverlight от WPF, делает MVVM работать очень идеальной. Этот полный набор продуктов представляет собой мощную экологическую цепь, основанную на .NET Framework, MVVM как организационной модели и языка высокого уровня как языка развития. Silverlight объединяет технологию разработки клиента и сервера и заполняет разрыв между различными браузерами.
Больше, чем это. Silverlight особенно полезен в рабочей модели SOA. Его глубокая интеграция с WCF делает простым и элегантным для разработки мощной, ориентированной на сервис веб-программы.
А как насчет HTML5? Он расширяет возможности обработки графики, добавляет потоковые возможности, а также добавляет некоторые другие практические функции. Тем не менее, это все еще далеко от RIA. Это бесполезно для разработки программного обеспечения, производительности и эффективности разработки.
Прежде всего, с точки зрения языка и структуры, преимуществ высокоуровневого языка, сильного набора и объектно-ориентированного не требуют ненужных объяснений. История программного обеспечения за последние несколько десятилетий была железным доказательством, и отличные модели проектирования еще более важны для читаемости, обслуживаемости, безопасности и гибкости программного обеспечения. Что касается этого, в основном нет необходимости в дополнительном «доказательстве». Каждый, кто выучил программирование, должен знать значение и роль моделей дизайна.
HTML5 не является «HTML». На самом деле, есть главный герой по имени JavaScript, который почти игнорируется людьми. Во всех местах, о которых говорят о замечательных перспективах и кроссплатформенных функциях HTML5, почти никто не упомянул название JavaScript. Однако на самом деле различные динамические функции и поведение в HTML должны быть полностью реализованы JS. HTML5, как решение веб -приложений, фактически следует назвать решением «HTML5 и JavaScript».
На самом деле, если вы подумаете об этом более тщательно, вы обнаружите, что JavaScript, который был намеренно скрыт за кулисами людьми, является реальным главным героем номер один, а HTML5 на самом деле является просто вспомогательной ролью.
Не так давно Microsoft продемонстрировала игру под названием «Резкая веревка», которая утверждает, что она реализована с помощью HTML5. Игра действительно удивительна. Тем не менее, любой, кто работает в веб -разработке, должен сразу же понять, что в реализации этой игры HTML5 учитывают, сколько учетная запись JavaScript? На каком языке находится его функциональный код? Ответ такой прост и ясен. Вместо того, чтобы говорить, что эта игра используется для отображения HTML5, я думаю, что лучше отобразить JavaScript.
Когда дело доходит до игр, вы должны быть знакомы с популярными веб -версиями онлайн -игр в Китае в последние годы. Мощные функции полностью реализованы JS? Это заставляет меня оцепенеть, если я думаю об этом. Независимо от того, возможно ли это, даже если это можно сделать, разве вы действительно не думаете, что это серьезная регрессия в истории программирования? ---- После стольких лет развития языки высокого уровня были заменены языками сценариев?
На самом деле, игры - просто пример. По мере того, как веб -приложения становятся все более и более популярными, людям нужны более сильные, более деликатные, более высокие показатели и более сложные клиентские приложения, которые означают большие шкалы программирования. Для «решения HTML5» на самом деле это означает, что все ожидания пользователей должны быть реализованы с помощью JavaScript, а для крупных приложений это может означать миллионы строк кода. ---- При программировании в таком масштабе JS сравняет ли JS с мощным C#?
Это не только это.
Например, проект моей компании Web Application фокусируется на локальных сетях и не учитывает ограничения Интернета. ---- Это на самом деле сценарий использования для многих веб-приложений. В LANS клиентские плагины, такие как Silverlight, могут достичь очень высокопроизводительной связи (бинарные потоки данных) и обработку данных. Это барьер для линии HTML5 на основе простой интерпретации текста. Его производительность никогда не может быть выше, чем плагины.
В дополнение к производительности связи, существует также динамическая производительность эффекта. Silverlight может напрямую использовать аппаратное ускорение, в то время как HTML5 полагается на браузер, так что, как и производительность связи, оно будет только ниже, чем Silverlight, и нет более высокой возможности.
Есть ли эффективность развития (сроки)? Silverlight на основе .NET может полностью использовать мощные функции Visual Studio. Разработчики часто не чувствуют разницы между этим и разработкой программы Windows. Структура .NET инкапсулирует большое количество готовых функций, богатых элементов управления, знакомых опыта программирования и мощной поддержки отладки.
Мы также знакомы с развитием JS. Хотя VS постоянно укрепляет свою поддержку JS на протяжении многих лет по сравнению с огромной структурой .NET и зрелым временем выполнения .NET и отладчиком, это всего лишь язык сценариев. Независимо от того, насколько толстая мышь, она не будет тяжелее слона. Это основной здравый смысл.
2. Где HTML5Откладывая вышеупомянутые практические проблемы, где HTML5?
Прежде всего, HTML требует поддержки браузера. Сам HTML5 является всего лишь стандартом, и его реализация зависит от браузера. По разным причинам каждый браузер всегда имеет свою собственную «личность». HTML4 не без стандартов, но факты перед вами полностью продемонстрировали, как производители браузеров будут относиться к этому стандарту. Нет причин доказывать, что эпоха HTML5 может полностью решить эту проблему.
Во -вторых, есть все еще несколько, которые поддерживают браузеры HTML5. Это все еще долгий путь, чтобы устранить все старые браузеры. И можно предсказать, что будь то через пять или десять лет, рынок будет заполнен различными версиями браузеров, и каждый браузер будет несколько отличаться. Кроме того, как долго был запущен IE9 Microsoft? IE10 был выпущен. Хотя IE10 и IE9 являются браузерами, которые поддерживают HTML5, существует много видимых различий. Среди все ещеживых браузеров Microsoft имеет 5 различных продуктов от IE6 до IE10.
В -третьих, создание мощного веб -приложения не только требует зрелости в основных технологиях, но и требует большого количества классовых библиотек. Сам HTML5 не достаточно зрел, а создание сложных веб -приложений на основе HTML5 (JS) не хватает достаточного убеждения и поддержки библиотеки классов. Если будущие браузеры действительно могут объяснить JS, как Silverlight или Flash, это будет очень долгий процесс, не говоря уже о том, что я лично думаю, что это невозможно.
По сравнению с незрелостью HTML5, Silverlight является готовым продуктом перед вами. Я беспокоюсь о том, что произойдет десять или двадцать лет спустя. Это потому, что я полон, и мне нечего делать.
3. Win8 и будущееНу, я признаю, что беспокойство о том, что произойдет через десять или двадцать лет, не обязательно означает, что вы полны и не имеете ничего общего. Тогда давайте посмотрим на будущее.
Win8 на самом деле эквивалентен Win7+Metro. То есть отложить в сторону режим рабочего стола, который обратно совместим с Win7, режим Metro - это настоящий Win8.
Однако что такое метро? Режим метро откидывает окно, WPF и даже .NET. По такой большой цене это фактически повторяет мобильную операционную систему. Мало того, что это совершенно неинновативно по внешнему виду, но в магазине приложений Windows также выражает свою любовь к Apple напрямую. Учитывая ненормальный дизайн Metro-I-I-i ... Я однажды сомневался в том, был ли Win8 разработан под руководством рабочих мест.
Хотя режим метро выглядит немного освежающим, персональный компьютер не является игровой консоли. Больше людей должны использовать компьютер для работы или делать что -то похожее на офис. Чем больше они используют его, тем больше они обнаруживают, насколько больно иметь режим метро без окон. Люди так часто используют два или более приложений одновременно. Более того, поскольку размер монитора продолжает расти, монитор фактически имеет возможность отображать больше информации каждый год, но Metro сообщает пользователям: нет, все ваши экраны могут использоваться только для отображения одного приложения. Вы хотите пообщаться с QQ во время просмотра фильмов? Дорогой, это не разрешено ...
Компьютеры не являются мобильными телефонами. Дизайнеры Win8 не понимали такую простую правду. Нельзя сказать, что метро Win8 бесполезен, но он действительно чрезвычайно ограничен в использовании.
Следовательно, будущее направление разработки Windows, безусловно, не будет скучным метро, а классическим оконным режимом.
Как только вы поймете это, вы можете поверить в то, что будущее я не отключу плагины. Даже если Метро все еще паразита в операционной системе, как деформированный урод в Win9, это не вызовет шторма. Режим Win7 на рабочем столе-это король, и до тех пор, пока браузер не отключает плагины, нет никаких сомнений в наличии Silverlight или Flash. Хотя, может быть, Microsoft больше не запустит Silverlight 6, и что? Silverlight по -прежнему будет хорошо работать не менее десяти лет, так как для того, что произойдет десять лет спустя ... на самом деле, большая часть кода не будет длиться так долго.
4. Характер компьютерных технологийЕсть старая китайская поговорка, что «забудьте предков нумерологии». Для веб -приложений я думаю, что гений технологий забывает предков нумерологии. Они слепо фантазируют о кроссплатформы, но забудьте, для чего используется компьютерные технологии?
Компьютеры являются инструментом, и вся его история разработки предназначена только для обслуживания пользователей. Технология, которая приносит только лучший опыт для пользователей, является ценной и может победить старые технологии. Неразумно и глупо привязывать будущее Интернета на низкоуровневом, бесконечном, трудном в управлении, низкопроизводительным JavaScript (HTML в основном используется для представления статического контента, а веб-приложения сосредоточены на динамической, а не статической), является глупой идеей. Когда Джобс с гордостью утверждал, что все плагины являются «злыми», я согласился, что его философия («дикция») имела смысл, но когда он считал этот словарь, он забыл своего «предка». (Приложения должны обслуживать пользователей)
Технология не может подавить потребности пользователя только потому, что она может сохранить рабочую силу, и она должна потреблять больше пользовательских компьютерных ресурсов ненужными. Напротив, если это может улучшить производительность, экономить ресурсы, достичь лучших результатов и улучшить пользовательский опыт, независимо от того, сколько усилий это требуется, это должно быть сделано.
На самом деле, есть много функций, которые JS+HTML не может достичь, и JS+HTML чрезвычайно плохой в безопасности. (Кто может гарантировать безопасность онлайн-покупок?) Невозможно отключить плагины не только перед вами, но и через десять лет. Подумайте о необходимости более сильной и более безопасной веб-среды для пользователей, вы знаете, что плагины могут быть ограничены только, но их нельзя запретить. (Некоторые грязные плагины действительно раздражают, но запрещены ли им есть рыбу, потому что у них есть шипы? Всегда глупо отказаться от еды из-за удушья)
Flash-очень отличный и мощный веб-плагин, но он не идеально подходит в экосистеме Microsoft, поэтому на самом деле нереально использовать Flash вместо Silverlight. Либо отказаться от технологии Microsoft или Silverlight.
На самом деле, я лично думаю, что будущее Интернета должно основываться на режиме SOA нескольких клиентов. Функции реализуются услугами, а пользовательский интерфейс реализуется различными платформами с использованием наиболее подходящей технологии. Неразумно слепо преследовать кроссплатформы. Экран мобильного телефона определяет, что его режим отображения и работы должен отличаться от экрана компьютера.
5. xaml, связывание массива и MVVMЭта тема была немного плохой, но я все еще должен упомянуть об этом. Новый метод разработки приложения Win8 Metro, который на самом деле можно назвать Silverlight6, все еще использует XAML, и он использует «Ограниченные фреймворки», как Silverlight, в качестве структуры программирования. Некоторые программы Silverlight можно даже собрать непосредственно в приложения Win8 без изменения какой -либо линии.
Я не оптимистичен в отношении Win8 и его приложения Metrol, но я считаю, что XAML и MVVM будут длиться вечно, WPF не умрет, и технология, используемая Silverlight, не умрет.
В некотором смысле, даже если Silverlight5 действительно является последней версией, можно считать, что Silverlight только что изменил свое название, и он возродился в новой технологии.
6. Отношение MicrosoftMicrosoft прекратила разработку Silverlight, но Microsoft никогда не объявляла, что проект Silverlight будет заброшен. Это очень интересное явление. Текущие правила Microsoft «не разрешают упоминать об этом». Если Microsoft действительно полон решимости сдаться, почему вы должны делать «не разрешено упоминать», чтобы притворяться страусом?
Я думаю, что Microsoft также смотрит. Они следят за тем, действительно ли у плагина браузера нет никаких перспектив. Если другие плагины, включая Flash, медленно умирают в будущем, то Microsoft естественным образом отказатся от Silverlight. Напротив, если плагин браузера оказался очень удобным, и нет никаких признаков смерти, они могут в любое время перезапустить проект Silverlight и запустить Silverlight6.
Итак, я думаю, что даже если реинкарнация и возрождение Silverlight не будут рассмотрены, даже сам продукт Silverlight (и это имя), вероятно, будет воскрешено в будущем.
Поэтому для веб -разработчиков, живущих под небом Microsoft, выбор Silverlight может достичь более мощных функций быстрее и элегантно. Почему бы не выбрать Silverlight?