Вопрос исходит от Zhihu.Скриншот выглядит следующим образом:
- Как определить фронтенд и бэкэнд
- Внешний статус выживания
- вторая половина переда
- Интерфейсные возможности
1. Как определить front-end и back-end?
На форумах люди часто начинают войну из-за проблем с интерфейсом и сервером, часто основная причина проблемы заключается в том, что понятие интерфейса и сервера не определено четко.
Поскольку эти два слова сами по себе очень общие, лично я понимаю это так.
Узкий передний конец: это чистый веб-интерфейс, основанный на технологии браузера.
узкий задний конец: это чисто веб-серверная часть, внутреннее приложение, которое предоставляет интерфейс для внешнего интерфейса на основе сервера.
Поэтому после прояснения этих понятий можно нормально обсудить проблему.Бред какой-то бэкенд связывать большие данные и искусственный интеллект с бэкендом.Для разработки больших данных есть специальные дата-инженеры,и у искусственного интеллекта тоже есть соответствующие инженеры-алгоритмы мало что можно сделать, кроме того, что они также работают на бэкэнде и являются соседями веб-сервера.
Точно так же интерфейс не может включать в себя какую-либо разработку игры, а веб-игра не имеет к этому никакого отношения, кроме того, что интерфейс работает в том же браузере.
- Статус выживания внутреннего интерфейса
Текущая ситуация также очень очевидна.Сложность технологии на основе Дао (например, электронной коммерции), возглавляемой Али, заключается в задней части, а передняя часть - это всего лишь тонкий слой отображения, такой как ответ Юбо.
Обычно в компании количество людей на бэкенде намного больше, чем на фронтенде, и сложность бэкенд-проекта также намного выше, чем у фронтенда. вполне реальная ситуация в Китае.
Еще есть расхожая поговорка, что передок обращен к заднему отсеку, а задний — к переднему.Работа, по сути, это не хвастовство, это действительно текущий статус-кво.
Итак, можем ли мы сделать вывод, что внешний интерфейс — это всего лишь слой отображения, отвечающий за рендеринг, и его использование в качестве внутреннего помощника — это нормально?
Да, это утверждение, несомненно, верно в нынешних условиях, но мы упустили из виду основную ситуацию.В настоящее время большинство отечественных предприятий ориентированы на предприятия C-конца, такие как Meituan, Didi, Zhihu, Taobao, Baidu, Toutiao Wait, количество гигантских компаний, которые можно сосчитать, несомненно, будут обслуживать пользователей C-end. Если в свободное время вы занимаетесь исследованием продуктов, вы должны знать основную концепцию. Дизайн продуктов C-end должен быть как можно более простым, и Продукты C-end должны основываться на базовом предположении: «Пользователи — дураки».
Например, несмотря на то, что регистрация на Taobao сейчас так удобна, служба поддержки клиентов Taobao взорвалась в ночь на гала-концерт Весеннего фестиваля, спонсируемый Taobao в 2017 году. Причина была не в том, что сервер не выдержал, а в том, что новые пользователи Taobao, которые опустились на третий и четвертый уровни или даже уездные города отчаянно играли.Позвоните в службу поддержки клиентов Taobao, как привязать банковскую карту?
Таким образом, в соответствии с этой концепцией дизайна продукта внешний интерфейс не может делать какие-либо трюки, потому что сложность внешнего продукта никогда не может превышать нижний предел способности понимания c-конечного пользователя.
Кроме того, форма продукта гигантов также определяет, что для них невозможны сложные интерфейсные взаимодействия.Сайты электронной коммерции, такие как Meituan и Taobao, сами отображают продукты, а наиболее сложными моментами являются логика корзины и заказа. Логика, в то время как сообщества и новостные приложения, такие как Zhihu и Toutiao, проще, почти просто отображают статьи.
Мы видим, что текущий характер продукта и группы пользователей гигантов определяют сложность фронтенда, в данном случае фронтенд действительно является вспомогательным, а бэкенд берет на себя огромную бизнес-логику, а поскольку он сталкивается с C-сторона имеет огромное количество пользователей и крайне высокую чувствительность пользователей.В этом случае необходимо обеспечить высокую доступность и высокий параллелизм сервера.В это время архитектурный дизайн серверной стороны практически определяет жизнь и смерть продукта, и переднего конца достаточно.
Итак, может ли фронтенд быть приговорен к смертной казни?
На самом деле существуют коммерческие продукты с интерфейсом в качестве ядра?Как интерфейс может быть основной технологией, и этотолстый слой?
Я когда-то работал над проектом более года назад, и было требование прочитать локальный файл excel во фронтенде и отрендерить его в браузер, а через браузер можно сделать какие-то расчеты, модификации, сортировку и т.д. .Это мой ток Сделал сложнейший front-end проект.Хоть конкретные технические детали и забылись,но до сих пор помню состояние ломал голову в спешке.В итоге не красиво сделал. Я собрал различные опенсорсные проекты с github и собрал воедино доступную функцию.
До этого у меня лично была некоторая уверенность в своих технических возможностях, но эта функция меня очень смущала.Прежде всего, я должен проанализировать это требование:
- Чтобы читать excel локально, вам нужен синтаксический анализатор excel для анализа файла excel в структуру данных, связанную с js.
- Для рендеринга Excel в настоящее время необходим интерфейсный компонент, похожий на excel, который может отображать структуры данных, связанные с js, в таблицы.
- Для работы с Excel необходимо, чтобы этот компонент не только отображался, но и редактировался.
Кто-то скажет, что это непросто, поиск подходящих проектов с открытым исходным кодом на github завершит сборку, но проблема в том, что это требование не является простой сборкой, и мы должны учитывать реальность.
- Локальный excel может быть очень большим, с десятками тысяч фрагментов данных, а синтаксический анализатор excel, связанный с js, приведет к зависанию браузера в процессе синтаксического анализа.
- Excel с большим объемом данных вызовет зависание в процессе рендеринга, не только это, но и сортировка десятков тысяч строк данных также вызовет зависание.
- Как обеспечить безопасность данных Что происходит с данными при отключении сети или сбое браузера во время редактирования формы?
Вам должно быть интересно, как я решил эту сложную проблему. . . На самом деле решил не очень изящно, так как сложность этого требования слишком высока.Если решить идеально, то я могу даже бизнес-проект сделать один.В конце разбираю excel в web worker, и ситуация зависания браузера легко решается, сортировка и вычисление.Я разделил два случая на два случая.Когда количество данных меньше 5000, основной поток вычисляется напрямую.Если число превышает это число, Web Worker также активирован. Сохраняйте полную сумму локально, синхронизируйте каждые 10 секунд и очищайте ее локально после загрузки.
Давайте представим, что вышеприведенное требование является не простым функциональным требованием, а продуктом, что, если серия Microsoft Office, семейство Adobe Bucket и IDE перенесены в браузер?
Конечно, я знаю, что некоторые компании уже сделали подобные продукты.Эти продукты являются так называемыми передовыми базовыми технологическими продуктами.Эти продукты также имеют общую черту.Пользователи являются профессионалами или B-конечными пользователями.В настоящее время, Концепция дизайна продукта заключается в том, чтобы максимизировать функции.Сделайте его мощным, чтобы удовлетворить потребности профессионалов, а не как можно более простым, чтобы пользователи могли понять.
Кроме того, существует огромная разница между этой формой продукта и продуктами C-end, то есть количеством пользователей.Из-за нишевой группы профессионалов количество пользователей не будет слишком большим на средних и ранних стадиях. .Количество пользователей сзади может быть на порядок хуже, чем у Toutiao.На данный момент высокий параллелизм бэкенда не кажется самой сложной проблемой, а основные продавцы продукта находятся на разработка фронтенд-функции.
3. Вторая половина передка
Можем ли мы прийти к консенсусу после этого обсуждения? Приложения трафика, с которыми сталкиваются обычные потребители, возглавляют Taobao и Toutiao. Их формы продукта и группы пользователей не позволяют их интерфейсу делать слишком сложные приложения, в то время как приложения с интерфейсом в качестве основного пункта продажи сосредоточены в профессиональных -ориентированный онлайн-офис на продукт.
Так почему же текущий статус презентации, что приложение трафика дисплея абсолютно доминирует?
- Эффект демографического дивиденда в Интернете. Последние десять лет были десятилетием демографического дивиденда в Интернете. Создание приложения, полагаясь на рекламу и субсидии для получения дешевых пользователей, а затем обманом инвесторов в финансировании и листинге денег, в эпоху, когда это так удобно и дешево набирать пользователей, это очень сложно.Мало кто устроится и запускать сложные приложения для профессионалов.
- Технология браузера незрела.Мы в основном устранили IE за последние десять лет, но нельзя отрицать, что IE долгое время занимал много акций в прошлом, и нельзя отрицать, что фронтенд-технология развивалась только в последние годы.В прошлом его также держал такой супергигант как Google.Даже сейчас без благословения WebAssembly нам было бы сложно разработать браузерное приложение сравнимое с фотошопом.
- Незрелость фронтенд-практиков относится не только к фронтенд-разработчикам, но и к фронтенд-менеджерам. Например, vue3, который предназначен для снижения порога использования фреймворков, имеет людей, которые не могут учиться, и трудно представить, чтобы полагаться на нынешних разработчиков для разработки суперприложений, таких как семейное ведро Adobe.Этот уровень продуктов требует сильных возможности управления программной инженерией и солидные навыки разработки программного обеспечения С этой точки зрения Front-end практики явно не готовы.
Но этот статус-кво не будет длиться слишком долго.Рано или поздно архитектура BS попадет в глаза этим суперприложениям.Браузер+облако будет нормой для этого продукта, и все больше и больше суперприложений войдет в браузер.Фронт -Конец, эта молодая отрасль Он также официально войдет во вторую половину.
Я основываю свое суждение на:
- Демографический дивиденд Интернета начал постепенно исчезать.Конечно, такие компании, как Pinduoduo, которые опускают поле боя в города четвертого и пятого уровня и даже сельские районы, все еще могут добиться успеха, но в настоящее время Pinduoduo опустилась на дно, и невозможно получить новые дивиденды.Сейчас, без благословения трафика, возможностей для С-сайда остается все меньше и меньше.
- Признаком зрелой отрасли является появление большого количества компаний конца B. Первоначальный подъем Соединенных Штатов и Японии начался с литейного производства (Foxconn) до сборочного завода (Lenovo), но на самом деле они занимают верхние слои отрасли и занимают доминирующее положение. Появилось большое количество производителей B-end. Например, основные компоненты большинства отечественных мобильных телефонов в настоящее время контролируются B-end-гигантами из США, Японии и Южной Кореи. В ИТ-индустрии могут быть не только Toutiao, Taobao и Meituan, но и китайские Microsoft, Adobe и Autodesk, но пока нет.
- Технология браузера созрела. В настоящее время в браузере все еще есть два больших шага. Один из них - WebAssembly, который еще не созрел, и его производительность близка к исходной. Говорят, что опыт после компиляции офиса в WebAssembly не уступает нативному Webgpu, который вот-вот появится через пол года, его появление может поднять графические вычисления браузера на другой уровень
Таким образом, требования к внешнему интерфейсу во второй половине могут становиться все выше и выше, например, лучшие базовые навыки (навыки алгоритмов), например, необходимость владения родным языком (c/c++), например, требование хороших графических технологий (webgl, webgpu) .
4. Интерфейсные возможности
Почему пока только фронтенд становится все более и более важным, технические требования все выше и выше, а повышение зарплаты не наблюдается?
В настоящее время рабочее место переднего плана фактически находится в периоде баланса, потому что дивиденды переднего плана фактически исчезли за последние два года.Годы, когда лидер переднего плана продвигался быстрее всего, оказались годами с наибольшим энтузиазмом. 2011–2016 годы были также три основных фреймворка, которые были выпущены последовательно, ES2015 постепенно стал популярным, и период времени, когда родились стандарты де-факто, такие как Babel и webpack. рефакторинг проекта с JQuery на React был большим достижением, которого хватило, чтобы заслужить достаточное внимание в защите продвижения.В то время использование Webpack в проекте называлось инжинирингом, а также мощным инструментом для повышения производительности.В настоящее время большинство передовых - Конечные лидеры полагаются на волну бонусов, чтобы занять руководящую должность или высокий уровень P, поэтому бонусный период применим не только к коммерческим компаниям, но и к профессионалам.
После 2016 года дивиденды ИТ-рабочего места были перенесены в область блокчейна и искусственного интеллекта.В конце концов, совсем недавно маленький принц, который использовал TensorFlow для настройки параметра, мог получать годовую зарплату в размере 50 Вт. Кстати, дивиденды от ИИ намного больше, чем от фронтенда.
Можно ли судить о том, что рабочее место фронтенда для новичков вытеснили старики в премиальный период?
Это на самом деле имеет место при фиксированном спросе на продукт.Если компания не расширяется, бизнес, за который вы отвечаете, не будет расти, и текущая форма продукта не изменится, но возможностей не так много.В конце концов, предпосылка продвижение по службе и повышение зарплаты Должны быть подводные камни, и у вас должны быть достижения.Хотя у вас еще есть возможности после бонусного периода, шансы действительно очень малы, потому что вам нужно делать более ценные вещи.
Однако большинство компаний не могут оставаться неизменными.Например, с появлением второй половины интерфейса, о котором мы упоминали в предыдущем разделе, компаниям, занимающимся облачными вычислениями, необходимо жестко привязать разработчиков к своей облачной среде, поэтому им нужна WebIDE в Является ли сложный интерфейсный проект для профессионалов на стороне B вызовом или возможностью? Фронтенд без определенного технического задела вообще не держит такой проект, как и я бессилен перед требованиями excel, да и разница между всеми не большая при написании страниц отображения новостей. не важно, но со сложностью проекта подъем технологий на самом деле все более и более важным, и это возможность.
Суммировать
Фронтенд часто может играть роль базовой технологии в лице продуктов в виде профессиональных B-конечных пользователей, но при этом требования к навыкам для фронтенда будут выше. C-end продукты подходят к концу, а вторая половина front-end скоро, что можно сделать?
Копайте глубоко, храните зерно широко и постепенно становитесь королем.