Как построить интерфейс, как Evernote.Одна страница, столбцы - PullRequest
4 голосов
/ 31 марта 2011

Evernote только что выпустила новый интересный веб-интерфейс. Это одна страница, размер столбца можно изменить с помощью мыши и т. Д.

Снимок экрана: http://blog.evernote.com/wp-content/uploads/2011/03/evernote_web_new8.jpg

Какой лучший способ построить что-то подобное с помощью jQuery? Кроме того, есть идеи, что Evernote использовал для создания этого интерфейса? Я ничего не смог найти в firebug с подсказками.

Спасибо

Ответы [ 4 ]

2 голосов
/ 13 марта 2013

веб-приложений, подобных этому, обычно создаются на основе javascript-фреймворка, такого как backbone, angularjs, ember и т.д.

http://todomvc.com/

Трудно понять, какую платформу js они используют, если она есть, но используют jQuery 1.8

.

Они используют http://icanhazjs.com/, которая является клиентской библиотекой шаблонов на стороне JavaScript.

Они используют http://requirejs.org/

2 голосов
/ 31 марта 2011

Если вам интересны такие вещи, вы должны поиграть с Chrome Developer Tools, Firefox Firebug Addon или Safari в меню «Developer».Они действительно великолепно дают вам представление о том, что происходит на веб-странице

Что касается того, «как они это создали», существует множество различных технологий, используемых в стеке веб-приложений.Имейте в виду, что серверы, хранящие, кэширующие и извлекающие все эти данные, являются такой же частью веб-приложения, как и веб-интерфейс.Но я предполагаю, что ваш вопрос спрашивает, как «как они заставили эту веб-страницу делать все эти интерактивные вещи».

По сути, все выглядит так, как будто это все традиционный HTML / CSS - никаких махинаций с холстом "HTML5" или Flash.

Интерактивность происходит от их пользовательского кода Javascript.Я попытался выяснить, используют ли они какую-то популярную стороннюю платформу Javascript Framework (например, jQuery или Prototype), но они импортируют так много сценариев, что им трудно следовать.Интересно, что jQuery и $ не являются определенными переменными на странице Evernote, поэтому похоже, что они не по крайней мере с использованием jQuery.Они ясно написали много Javascript, чтобы запустить эту штуку и запустить ее, так что не сложно представить, что они просто решили оставить весь свой код внутри себя.


К вашему сведению: три столбца просто расположены и имеют размер <div> с.

<div style="position: absolute; overflow-x: hidden; overflow-y: hidden; left: 0px; top: 0px; bottom: 0px; width: 220px; ">...</div>

<div style="position: absolute; overflow-x: hidden; overflow-y: hidden; left: 220px; top: 0px; bottom: 0px; width: 360px; ">...</div>

<div style="position: absolute; overflow-x: hidden; overflow-y: hidden; left: 580px; top: 0px; right: 0px; bottom: 0px; ">...</div>

Прокрутка, которую вы видите в этих столбцах, выполняется в дочерних <div> с.

0 голосов
/ 07 августа 2015

Что ж, на самом базовом этапе evernote выполнил рабочий процесс приложения для заметок, используя пользовательский javascript, хотя существует множество других сред, которые они использовали для серверной работы. Один из способов - увидеть его с помощью Chrome web Inspector nad, если он установлен на Firefox, тогда они обновили там веб-инспектор и теперь он намного круче, но если вы предпочитаете очень популярный firebug, он подойдет.

Для получения подробной информации о том, какие ресурсы они использовали для создания, необходимо отслеживать их с помощью инструмента веб-анализатора, такого как www.buitwith.com

здесь, это ссылка на домашнюю страницу сайта evernote, которую искали на Builtwith.com: http://builtwith.com/?https%3a%2f%2fwww.evernote.com

Однако приложение, которое построено на нем, содержит много пользовательского кода. Трудно указать точное использование, но если мы проверим код, он не показывает какого-либо конкретного использования AngularJS, они используют requireJS для загрузки модулей.

Поскольку ваш вопрос специфичен для внешнего интерфейса, это можно сделать с помощью HTML5, с использованием некоторого javascript или, если вы предпочитаете инфраструктуру для упрощения процесса, то воспользуйтесь этой ссылкой из JQueryUI.

https://jqueryui.com/resizable/

Они по-прежнему являются королями разработки пользовательского интерфейса, если AngularJS и ReactJS не упомянуты как пораженные.

А также, если вы попытаетесь сделать это с помощью простого ванильного JavaScript, это даст вам преимущество на кривой обучения.

0 голосов
/ 04 декабря 2013

Они используют Angular.js, HTML5, CSS3, пользовательский Javascript и JQuery (и многие другие, как отмечали другие).

От: http://evernote.com/careers/job.php?job=om2qXfwv

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...