Алексей Ярошевич: нет, это называется "я услышал про аджакс и теперь гружу им куски HTML". SPA подразумевает какие-то зачатки архитектуры и обмен с сервером голыми данными данными, а не кусками верстки.
Я тоже хотел такое посоветовать. А потом подумал, что, наверное, у человека не один раз вызывается $(document).ready, а много, да еще в разных местах (код начинающих часто этим грешит).
Александр Прозоров: Основная фишка JS -- люди, которые знают JS, могут делать бэкенд. А уж из этого вытекает, в том числе, изоморфность. Я, например, не пишу полностью изоморфных приложений (не было нужды), хотя некоторые jade-шаблоны и библиотечки используются на сервере и на клиенте.
xanuho: вопрос был: как реюзать код. Ответ: воспользоваться пакетными менеджерами. Я честно не понимаю, в чем проблема. На пальцах:
Написали мы прекрасный слайдер, простестили.
Теперь выдираем его из проекта и кладем в отдельный репозитарий -- скрипты, стили, etc.
Подключаем его в проект через bower: bower install mySlider=mygit.example.com/myslider...., в системе сборки правим соответствующие пути к файлам.
Теперь делаем другой проект, слайдер выглядит и ведет себя по-другому. Тут есть несколько вариантов: предусмотреть в слайдере темизацию, сделать несколько гитовых веток (bower умеет ставить с точностью до ветки, до тэга или до коммита), или тупо оверрайдить стили. В случае с ветками переносить багфиксы между ними можно с помощью git cherry-pick.
God Emperor: ну то есть по существу вам ответить нечего, да? Алиасы можно и в CMD сделать, а еще лучше -- поставить cygwin. Только юзабельно все равно не станет.
God Emperor: O RLY? Ну, начну с очевидного: окошко закрыл, история улетела в трубу. Простейшая операция копирования и вставки текста -- какие-то странные телодвижения.
Командные оболочки в *nix всегда были важной и неотъемлимой частью, развивались и эволюционировали, а этот несчастный powershell был впилен по принципу "че-то эти юзеры хотят какую-то командную строку, налепите им че-нить за пару дней".
vasIvas: есть люди, которые считают, что модель должна быть "анемичной", как они говорят.
Ну а микро-сервисы, позвольте не согласиться, могут как раз реализовывать именно бизнес-логику, оставаясь, как говорят, framework-agnostic, и это может быть довольно удобно, на самом деле.
Скажу вам мое имхо: MVC, MVVM, MVP, вот это все -- это просто способ отделить представление от данных и от поведения. А такое разделение является ничем иным, как проявлением single responsibility principle. И когда этот принцип нарушен, то уже неважно, в моделях логика или в контроллерах.