Сап анальники. Мочераторы IT-ресурса удалили мой вопрос, поэтому пишу сюда. Я изучаю JS, интересует вопрос касательно ООП, а именно, как применять его во фронтенде, но если увижу пример сам смогу понять. Посему, скидывайте свои проекты, кто разбирается в ООП, алсо, рейтим говнокод анонов.
>>249519072 (OP) ты тупой? Какая разница, фронтенд это или бэкенд? ООП это про архитектуру а не про фронт или бэк. Если ты задаёшь такие вопросы - значит ты нихуя не понимаешь что такое ООП и зачем оно нужно.
>>249520057 Ну так в отличии от бека, где логика всего приложения, во фронте ты просто навешиваешь события всякие, и еще что-то и вуаля. Куда здесь ООП пихать?
>>249519986 Ну в каком-нибудь интернет-магазине ты можешь товары в списке представлять через объекты, передача дата-объектов так же. Не очень понял вопроса, обычно ты никогда не используешь чисто ооп или чисто функциональщину, ты применяешь по ситуации.
>>249520172 А на фронте что, логики нет по твоему? Фронт разный бывает, от навешивания событий и какого-нибудь jquery, до полноценного приложения в браузере. Это уже смотря какие требования к продукту. Но ты, похоже, очередной вкатывальщик, по-этому пихай себе в очко.
>>249519072 (OP) Всем маминым вкатывальщикам советую забить большой хуй на эти ваши новомодные фрейморвки и прочие базз-ворды. Первое что вам нужно знать это безусловно англицкий, или же вам дорога только в 1-эсс-ники. Дальше вам нужно подтянуть матано-алгоритмические абилки. Вот хорошая книга на эту тему например: https://www.pdfdrive.com/mathematics-and-physics-for-programmers-e1118422.html
Ну и нужно понимать как ваше погромирование работает с самых низов. Для этого есть отличный курс от двух жидов: nand2tetris. После него сможете выучить любой язык а не пукать-сренькать на питонах и жсах.
Всё, иначе хуй вкатитесь, малолетние долбоёбы. Олсо ООП это базз-ворд, на практике его не существует.
>>249519657 чувак, через три года кроме питона ничего на рынке не останется, ты со своей явой будешь на теплотрассе жить Вкатывайся с самого начала правильно
>>249520345 Не слушайте этого. Матан нужен, но фреймворки важнее, потому что матан уже 200 лет как не менялся, а это говно меняется каждые 5 лет и постоянно требуют знание самой новой залупы. Ну и необязательно сперва разбираться досконально в архитектуре процессоров, чтобы хеллоу ворлды на питоне писать. Вообще в идеале это все лучше изучать и делать параллельно.
>>249520403 Ебанько, я тебе советую как погромистом стать, а не пукающим-сренькающим питон-жс-порриджем которых сотни тысяч, которые нихуя не понимают, которые простенький алгоритм сами не напишут без готовых либ.
>>249520455 Мань, тебя в любой нормальной конторе прогонят по стандартным алгоритмам чтобы убедиться что ты в принципе погромировать умеешь. Знание фреймворков нахуй никому не впало.
>>249520535 В любой нормальной конторе тебя прогонят И по алгоритмам И по фреймворкам. Но уж точно не будут дрочить матаном и низким уровнем, особенно если ты на фронтенд пришел.
>>249520535 Долбаёб, нахуй мне твои советы нужны, маня? Я уже больше 6 лет погромист, и я знаю как всё работает вплоть до железа. Вот только это нахуй не нужно в современном мире, сейчас чтобы зарабатывать деньги - нужно просто писать высокоуровневый код, а не забивать голову полупроводниками.
>>249520570 Это простейшие навыки которым погромистов обучают на первых курсах в нормальных кампутер сайенс шарагах. Нужны они для того чтобы ты понимал что делаешь, мог собственные либы писать, мог выявлять ошибки в чужом коде, мог в оптимизацию, короче был на голову выше маминых пориджей которые верят в маня-мечты что могут за полгода научиться погромировать выучив новомодные фреймворки ололо.
>>249520614 Что не нужно долбоёб? Не нужно уметь погромировать в общем, а не быть зависимым от языков и фреймворков? Не нужно уметь в оптимизацию, не нужно уметь в самостоятельную разработку? Не нужно быть на голову выше маминых долбоёбов вчерашних вкатывальщиков которые верят в волшебные фреймворки которые за них все сделают и мнят себе ололо-погромистами?
>>249520922 Конечно в гугол и яндекс берут вчерашних порриджей с новомодных курсов и не дрочат их проверками умеют они в алгоритмы или нет. В любой нормальной кампании тебя нахуй завернут, ну а если ты на галеру устраиваешься, тот тут конечно, извольте иметь опыт 5 лет в новом жс-фреймворке который вышел полгода назад. Ололо ору с идиотов.
>>249521133 Во фронтенд-то разработке, идиотина? Что за ебанутые будут такое спрашивать, зачем это нужно, фронтенд самая высокоуровневая сфера разработки
>>249519072 (OP) >как применять его во фронтенде Так же как и во всех остальных сферах, где он применяется, лол. Но на js уже можно не смотреть (пока).
Глянь на реакт. Там компонент является классом. Хотя сейчас уже классовые компоненты отмирают.
А вообще, часто встречал такую практику на ваниле: какой-либо элемент интерфейса, н.п., хедер это класс, поля которого содержат в себе какие-либо дочернии элементы хедера, н.п., линки навигации.
>>249521395 А вообще, достаточно глянуть на какой-нибудь Python c его старым Tkinter. И сразу становится понятно, как можно использовать ООП для проектирования графических интерфейсов. Тем не менее, вся многогранность ООП вряд ли раскроется. Все таки, ООП это больше дата флоу.
>>249520945 Ты ещё scala.js предложи. Любая попытка заменить js на "твой любимый язык" моментально ломается об экосистему. Так при попытке импользовать любую стороннюю либу или браузерное api для которого нет биндингов оборачивается тонной страданий, которые несравнимы с написанием кода на js. Единственный у кого получилось - это typescript, но только лишь потому что он не пытался прикинуться тем, чем не является и с самого начала уважал жестокий мир жаваскрипта, а не пытался построить свой манямирок и сделать вид, что всё ок.
>>249519072 (OP) Какой смысл ООПа в скрипте если мы по умолчанию частично функциональны? Да и в целом ЖС и фреймворки движутся в сторону функционального программирования
>>249521721 Ууу, в современном. Ууу, легасе. Я и написал, что умирает такой подход и сейчас все делают на ФК. И тем не менее, фукнция в жабаскрипте является экземпляром класса.
>>249521290 Работаю в компании, которая разрабатывает приложение с охуенного размера фронтом. Используем отрисовку на канву и активно боремся за каждую миллисекунду рендера, в некоторых случаях. Знание принципов оценки сложности алгоритмов — это один из ключевых моментов при приеме на на работу в компании. Веб бывает разным, в том числе таким, что для разработки нужно знать алгоритмы и их сложность
>>249521531 Сука, ты на фронте с данными работаешь. С кучей данных. Которые изменяются постоянно и абсолютно рандомно. А ООП в своей сути является антонимом удобной работы с ними, на котором невозможно построить удобную для разработки и расширяемую архитектуру. Особенно учитывая что в жсе классы это ебучая хтонь.
ООП мотивирует макаку к оверинжинирингу, ебейшая инкапсуляция как что-то очень плохое, твой код не работает с одним объектом и появляется задача поперечных срезов, негибкое упорядочивание данных, нулевая возможность нормально поддерживать это дерьмо.
Как же заебали уже ооп-ёбы, пытающиеся в мой жиэсик притащить свою хуйню из жабы. Хуже функциональных шизиков но их код хотя бы понятен и с ним можно работать, в большинстве случаев
>>249521902 Вы прям гуй на канвасе рисуете? Типа кнопки, инпуты, менюхи. Я такое видел во флатерре и когда приложение на плюсах и qt компилировали через emscripten. Тормозит пиздец
>>249520322 Давай расскажи и покажи мне что значит "полноценное приложение в браузере" это SPA или SSR какойнить? Ну ка покажи ка использование парадигмы ООП конкретно так как она задумывалось?
>>249519072 (OP) Для чего нужны графы и их обход вообще? В чем прикол? Как это вообще выглядит, что за графы, типо вложенные массивы? Дискретная математика была с этими графами но там какая-то скука что пиздец и я скипнул.
>>249521852 Мань, я знаю как работает жс, можешь не думать что я тут про написание классов через прототипы говорю. >>249521883 >функция это класс Встроенный объект. К классам не имеет никакого отношения. Это крестовская тема.
>>249522357 Ало, меня, да в браузере на webgl игры, блять, пишут. Ебать ты кретин нахуй, спа блять, сср. Открой любой js фреймворк, под капотом ООП, паттерны. Или ты думаешь, что веб это только сайтики? Нет, это ещё и фреймворки, библиотеки. Не только клиентский по отношению к ним код.
>>249519072 (OP) К прочтению: Рефакторинг Мартина Фаулера и Кента Бека Чистый код Боба Мартина Можно добавить TDD Кента Бека и DDD Эрика Эванса И настольное пособие Design Patterns банды четырёх
ООП на фронтенде вообще редкий гость, разве что в многоуровневой архитектуре и в самой доменной логике приложения, не относящейся к фреймворкам и формошлепству. Чтобы в говове всё устаканилось, лучше вообще свести использование фреймворков к достаточному и необходимому минимому и по возможности использовать VanillaJS и библиотеки.
Больше всего бесит что во всех распространенных языках, из-за того, что они не являются чисто объектными, приходится костылить и извращаться для применения объектного подхода. Из-за этого и без того дорогой ООП становится еще дороже. В ряде случаев ООП помогает структурировать код, в котором без хорошего структурирования разобраться и вообще написать его до конца из-за сложности было бы просто невозможно. А так сложность разбивается на небольшое число шаблонов, значительно упрощая взаимодействие между ними и комбинирование. Тем не менее, там где нет такой сложности, проще обойтись вообще без ООП, используя принцип KISS и подходы функционального программирования.
>>249522413 Альтернативу управлению данными на фронте? Редакс. Классика жанра, так сказать. Есть редакс-сага. Можно эффектор или rx. RX для жабофилов будет более привычен. Построение интерфейса? Есть обёртка в виде JSX, которая скрывает под собой функцию для рендера компонента в вдом. Архитектура? Domain Driven Development наше всё и никаких там солидов. Как код писать? Брать отдельные элементы ФП чистые функции, функции высшего порядка, декларативный подход и всё такое и применять их. Стоит также отметить что не стоит бездумно отказываться полностью от классов и безжалостно их выпиливать, впрочем.
>>249525402 design* быстрофикс ddd хуёво работает при ооп подходе, но в стандартном фронтовом проекте на реакте да и не оч стандартном он себя полностью раскрывает.
>>249525041 Так тебе просто повезло. Тогда всем казалось что проганье это говно. 25 лет назад. А теперь обмазался питоном и уже программистом себя называет любой, вообще любой. Заодно тестером, чтобы точно взяли лол. "Я ТЕСТИРОВЩИК". СУКА.