Чем больше я пишу кода тем больше мне он не нравится. Хотел бы писать нормальный ООП код. Я хорошо понимаю как рабоют прототипы, наследование и т.д., но не знаю как его применить когда создаю интерфейсы работающие с DOM.
Большинство книг и статей, что я видел, описывают лишь концепции и паттерны без привязки к реальным задачаи по разработке интерйфесов.
Посоветуйте в какую сторону смотреть, что почитать.
P.S. Только фрэймворки не советуйте, пожалуйста .)
@aush: Так и быть, скажу по-русски, а то опять не поймете: TypeScript это не решение "проблемного" javascript'а. И писать на нем не имеет смысла. Так же как и привносить ООП подход поверх JS. Это не работает, это не будет работать. Все кто начинает транслировать что-то в JS, приходит к тому, что учит JS. А тем более поделие от говнософта.
@UbuRus: в этой же строчке автор пишет: "If you love JavaScript, warts and all, but wish it had classes, modules, interfaces and static typing then TypeScript is the answer.". Это как раз то, что надо автору вопроса. Я полностью согласен с вашим ответом выше "В JavaScript ООП не нужно", т.е. с тем, что не нужно писать на JavaScript к ОО парадигме. Нет смысла писать в оо-стиле на асме или, вообще, в байт-коде, но можно писать в оо-стиле на шарпе или джаве, которые, в конечном счете, окажутся байт-кодом. Тут та же самая история. Нужно уже просто начать воспринимать JavaScript как байт-код для браузера и создавать новые абстракции, как это сделали в MS с тайп-скриптом.
@aush: только дело в том, что классов вы не получите :) будет иллюзия, за которой скрываются конструкции JS. И эта абстракция течет. На JS пишется куда более красивый и быстрый код чем на TS.
@UbuRus: Сколько лет JS, сколько TS - конечно, у них там еще не все идеально. Почему вы называете классы TS иллюзией? Если они выглядят как классы и ведут себя как классы, то, на мой, взгляд, они является классами. Ваш код на JS - это тоже иллюзия, в конечном счете все оказывается 1 и 0 и никакой красоты там не остается. На JS пишется красивый и быстрый код, т.к. в поисках решения проблемы того, что естественным образом на JS код получается уродливым и медленным, уже сломано миллион копий, придумана куча паттернов и заоптимизированны JS-движки. Я не говорю, что JS - плох, я говорю о том, что TS - это инструмент, который позволяет решить некоторые задачи эффективнее, чем JS. И, судя по вопросу ОПа, вполне возможно, что он как раз в той ситуации, в которой TS может ему помочь.
@aush: проблема у ТСа в том, что он не понимает как писать хороший код на JS, что он не хочет взять ангулар и научиться писать директивы, а не в том что тут нужен зачем-то ООП.
@aush: "Почему вы называете классы TS иллюзией" потому что TS оперирует на том же уровне что и JS. Но не создает нового уровня абстракции, он пытается наложить абстракции ООП на абстракции ФП. Если бы это можно было делать эффективно, то очевидно не существовало ООП и ФП как отдельные самодостаточные парадигмы.
@UbuRus: Как раз ООП и ФП прекрасно живут вместе. Я, например, люблю функциональный стиль и активно его использую, хоть и пишу на C#. Вот, есть хорошая статья - blog.ploeh.dk/2014/03/10/solid-the-next-step-is-fu... там C# и F#, но, думаю, идею уловить это вам не помешает, почитайте, может вам будет интересно.