21

Re: Порадьте стек для JavaScript

Ха) Здивувався з результату першого виразу і пішов читати)
Виявляється, треба пам'ятати не тільки про правила приведення, а ще й про те, що {} може інтерпретуватися як пустий блок коду) Класно)
Але ж погодьтеся, що на практиці таке треба вкрай рідко, якщо не ніколи))

Подякували: bebyk, flatliner, leofun01, 221VOLT4

22

Re: Порадьте стек для JavaScript

harentius написав:

FakiNyan, це пов'язано з тим, як js приводить до строки. Операція "+" визначена тільки для строк і чисел.
Далі по правилах приведення)

я не вас питав, альо
і не строки, а рядка!

23

Re: Порадьте стек для JavaScript

harentius написав:

Ха) Здивувався з результату першого виразу і пішов читати)
Виявляється, треба пам'ятати не тільки про правила приведення, а ще й про те, що {} може інтерпретуватися як пустий блок коду) Класно)
Але ж погодьтеся, що на практиці таке треба вкрай рідко, якщо не ніколи))

там ще такий прикол, що в хромі

{}+{}

сприймається як два літерали, а в firefox вже нормально, перше - блок, а друге -літерал, і від того різні результати виходять

24

Re: Порадьте стек для JavaScript

Глянув у своєму застосунку Реакту як рендериться гтмл в бравзері - а там нема контенту, крім пустого div root, ліл. Цікаво, як Реакт зістиковується зі SEO?

25

Re: Порадьте стек для JavaScript

Не дуже добре з SEO.
У нього трохи інша задача. Динамічні дешборди, приватні розділи і все таке.
Інколи метатегів можна навішати на сторінці і цього буде достатнь. (title, description)

А взагалі - для простих сайтів із відносно статичним контентом, який повинен індексуватися (блоги, статі і т.д.) - або старі добрі способи із рендерингом зразу на бекенді (handlebarsjs, Nunjucks і т.д., купа їх, бекенд зразу рендерить html і віддає на клієнт), або ж server-side rendering для фронтенду
Добавите собі ще один пункт до вчорашнього списку, десь перед тестами)

Подякували: bebyk1

26

Re: Порадьте стек для JavaScript

harentius написав:

Не дуже добре з SEO.
У нього трохи інша задача. Динамічні дешборди, приватні розділи і все таке.
Інколи метатегів можна навішати на сторінці і цього буде достатнь. (title, description)

А взагалі - для простих сайтів із відносно статичним контентом, який повинен індексуватися (блоги, статі і т.д.) - або старі добрі способи із рендерингом зразу на бекенді (handlebarsjs, Nunjucks і т.д., купа їх, бекенд зразу рендерить html і віддає на клієнт), або ж server-side rendering для фронтенду
Добавите собі ще один пункт до вчорашнього списку, десь перед тестами)

Тобто якщо я хочу зробити статичний сайт-візитівку, на кшталт такого, то юзати Реакт - не варіант?

Подякували: 221VOLT, flatliner2

27

Re: Порадьте стек для JavaScript

Якщо коротко, то варіант.
1) Що ви хочете індексувати? Щоб по запиту "Ваше Ім'я Резюме" знайшли цю візитку? Метатеги достатньо добавити.
2) Весь контент? Добре, використайте server-side rendering.

P.S. Ви ж це будете рекрутеру все одно в приватних повідомленнях давати, точно треба індексувати гуглу це?

28

Re: Порадьте стек для JavaScript

harentius написав:

Якщо коротко, то варіант.
1) Що ви хочете індексувати? Щоб по запиту "Ваше Ім'я Резюме" знайшли цю візитку? Метатеги достатньо добавити.
2) Весь контент? Добре, використайте server-side rendering.

P.S. Ви ж це будете рекрутеру все одно в приватних повідомленнях давати, точно треба індексувати гуглу це?

2-ий варіант, можливо прикручу блоґ, а також (що вже не стосується індексації) хочу прикрутити контактну форму, але застряг з цим, бо ніяк не доберу, як nodemailer використати зі згенерованими експресом порізно app.js і index.js. (А ви ще кажете, що рельса не легка!))

29

Re: Порадьте стек для JavaScript

FakiNyan написав:

маю для вас запитання по js, щоб не розслаблялися
що виведе

{}+[]

і

{}+{}

і

[]+{}

і чому?

за багато років роботи з js так і не запам'ятав оці "приколи" :)

а на друге запитання я маю дві відповіді:
1 -- мови програмування бувають зі статичною (C/C++, Java, Haskell)
та динамічною типізацією (JS, Python, Erlang)

типізація буває слабкою(небезпечною) (C/C++, JS)
чи строгою(сильною, безпечною) (Python, Erlang, Haskell)


у випадку зі строгою статичною типізацією (Haskell)
компілятор не дасть вам скомпілювати функцію,
у якій ви до 2х собак додаєте 7 блох з собаки,
та значення цієї функції підставляється там,
де очікується N апельсинів :)

компілятор скаже
"Василю, ти тверезий?
блохи (рядок 8) в сумі з собаками (рядок 9)
не дають апельсинів (очікуваних в рядку 13),
я не можу скомпілювати цей код, виправлЄй!"


у випадку зі строгою динамічною типізацією (Erlang)
ми отримаємо помилку(виключення) в рантаймі

> 1 + "1".
** exception error: an error occurred when evaluating an arithmetic expression
     in operator  +/2
        called as 1 + "1"


у випадку зі слабкою(небезпечною) типізацією ми отримуємо:

-- падіння космічних апаратів (не пригадую, як називався, лише причину --
сішний float неявно приводився до int)
тобто, небажані результати

-- неочікувані "отут треба пофіксити, бо я неуважно написав, не перевірив etc"

-- різні "wft code" == що це таке, як приводиться-інтерпретується,
що воно повертає, і взагалі, як воно працює...


:) imho, з сильною типізацією жити легше,
зі слабкою -- важче

це була 1а відповідь))



2 -- js -- це не добряче продумана та файно спроектована мова програмування (Erlang, Haskell etc),
це "так історично склалось",
це щось з чимось,, недорозуміння, яким малювали сніжинки в браузерах в нульових,
і яке зараз називають топ мовою лише через відсутність альтернатив - інших мов в браузері :)

тут старі баги називають фічами,
їх не виправляють, а докидують нових ))

-- і ми маємо все важчі веб-сторінки,
все товстіші і прожорливіші браузери...

:)

30

Re: Порадьте стек для JavaScript

harentius написав:

Якщо коротко, то варіант.
1) Що ви хочете індексувати? Щоб по запиту "Ваше Ім'я Резюме" знайшли цю візитку? Метатеги достатньо добавити.
2) Весь контент? Добре, використайте server-side rendering.

P.S. Ви ж це будете рекрутеру все одно в приватних повідомленнях давати, точно треба індексувати гуглу це?

ви стверджуєте, що гугл не вміє в js?

при тому, що надворі 2020 ?

якщо Google PageSpeed Insights --
https://developers.google.com/speed/pag … hts/?hl=uk
інструмент для оцінки швидкості завантаження сайтів,
давно прекрасно вміє в js та вебсокет,
то чому пошуковий павук гугла повинен не вміти в js ?

ще в 2011 році були новини, що гугл-павук вміє в js
https://24tv.ua/google_teper_shukaye_u_ … ok_n154268

нагадую, що за вікном 2020й вже :)

давайте не будемо дизінформувати новачків??

Подякували: bebyk1

31

Re: Порадьте стек для JavaScript

bebyk написав:
harentius написав:

Не дуже добре з SEO.
У нього трохи інша задача. Динамічні дешборди, приватні розділи і все таке.
Інколи метатегів можна навішати на сторінці і цього буде достатнь. (title, description)

А взагалі - для простих сайтів із відносно статичним контентом, який повинен індексуватися (блоги, статі і т.рів.д.) - або старі добрі способи із рендерингом зразу на бекенді (handlebarsjs, Nunjucks і т.д., купа їх, бекенд зразу рендерить html і віддає на клієнт), або ж server-side rendering для фронтенду
Добавите собі ще один пункт до вчорашнього списку, десь перед тестами)

Тобто якщо я хочу зробити статичний сайт-візитівку, на кшталт такого, то юзати Реакт - не варіант?

В мене давно крутиться в голові версія fuelphp + reactjs. Різні адмінки і мембер зони - чистий реакт, а рестфул на fuel і для паблік контенту зробити так, щоб за адресою яка резолвиться (slug для якого існує в базі сторінка), fuel генерував відповідь з найтупішим шаблоном, де весь контент був розміщений у <noscript>, а нижче підключався б знову ж таки реакт для живих юзерів.

Але я ніяк не почну це реалізовувати, бо трохи рукожоп, торохи ледар і взагалі на власні пет-проекти дуже мало часу маю. Але собі я бачу саме такий стек: fuelphp + reactjs + ant.design. Щодо redux я наче й зрозумів, що воно таке, але, доки не поюзав, ніяк не зрозумію, навіщо воно потрібне.

Подякували: 221VOLT1

32

Re: Порадьте стек для JavaScript

нагадую, що за вікном 2020й вже :)

давайте не будемо дизінформувати новачків??

Це не дезінформація. Це "правда, але не вся правда".
Гугл не може індексувати фронтенд проекти на 100% так само, як він індексує проекти, зрендерені на бекенді.
У своїй практиці я не зустрічав *жодного* замовника, який би повністю довірився можливості гугла індексувати фронтенд, яка так чи інакше спливає у ЗМІ періодично.

Прихований текст

Ви зустрічали? (Мені дійсно цікаво якщо що)

Як мені здається, істина полягає в тому, що гугл може індексувати фронтенд, але частково. В принципі, він може проініціалізувати ап. Але що далі? Далі роутинг, АРІ виклики при переході по лінках роутів...
Я до цього часу бачу загальні рекомендації - використовувати пререндеринг.
Тут була спроба досліджень:
https://www.onely.com/blog/javascript-seo-experiment/
Згідно з яким, гугл дійно вдало індексує простий js (з деякими нюансами, такими як кеш наприклад)

Подякували: bebyk, leofun012

33

Re: Порадьте стек для JavaScript

221VOLT написав:

2 -- js -- це не добряче продумана та файно спроектована мова програмування (Erlang, Haskell etc),
це "так історично склалось",
це щось з чимось,, недорозуміння, яким малювали сніжинки в браузерах в нульових,
і яке зараз називають топ мовою лише через відсутність альтернатив - інших мов в браузері :)

тут старі баги називають фічами,
їх не виправляють, а докидують нових ))

А мене якраз це й привабило в JS - краса потворності.

Навіть назва - якесь недолуге непорозуміння. Ммм... кайф.

Подякували: 221VOLT1

34

Re: Порадьте стек для JavaScript

bebyk написав:

Глянув у своєму застосунку Реакту як рендериться гтмл в бравзері - а там нема контенту, крім пустого div root, ліл. Цікаво, як Реакт зістиковується зі SEO?

Ніяк.
Реакт, Анґулар, і їм подібні - інваліди в світі програмування. А server-side rendering - їхні костилі.

Подякували: 221VOLT, ping2

35

Re: Порадьте стек для JavaScript

leofun01 написав:

Реакт, Анґулар, і їм подібні - інваліди в світі програмування. А server-side rendering - їхні костилі.

Навіть гірше. Початкова ідея була (і лишається) в тому, щоб, задля безпеки, не передавати активного вмісту - лише HTML/CSS. Активним у клієнта має бути лише браузер. Звісно, травмований код потребував JS. JS - це костиль HTML для того, щоб робити те, що забули додати в браузер, і з міркувань безпеки JS також скалічений. Але через перегони браузерів стосовно швидшого каліки JS став швидким, і в декого виникла ідея писати на них щось серйозне - типу другого браузера в браузері (React, Angular) або серверного коду (Node). Ну, тобто якщо скаліченість HTML вас обмежує, то React є костилем.
Таким чином рендерінг на сервері - це костиль до костиля, зібраного зі штучно пришвидшених костилів для навмисно скаліченого коду. Живіть тепер із цим.

Подякували: leofun01, 221VOLT, ping3

36

Re: Порадьте стек для JavaScript

harentius написав:

нагадую, що за вікном 2020й вже :)

давайте не будемо дизінформувати новачків??

Це не дезінформація. Це "правда, але не вся правда".
Гугл не може індексувати фронтенд проекти на 100% так само, як він індексує проекти, зрендерені на бекенді.
У своїй практиці я не зустрічав *жодного* замовника, який би повністю довірився можливості гугла індексувати фронтенд, яка так чи інакше спливає у ЗМІ періодично.

Прихований текст

Ви зустрічали? (Мені дійсно цікаво якщо що)

Як мені здається, істина полягає в тому, що гугл може індексувати фронтенд, але частково. В принципі, він може проініціалізувати ап. Але що далі? Далі роутинг, АРІ виклики при переході по лінках роутів...
Я до цього часу бачу загальні рекомендації - використовувати пререндеринг.
Тут була спроба досліджень:
https://www.onely.com/blog/javascript-seo-experiment/
Згідно з яким, гугл дійно вдало індексує простий js (з деякими нюансами, такими як кеш наприклад)

у наведеній вами статті дата -- 14 May 2017 (є смисл це читати??)
нагадую -- надворі уже 2020й

ви стверджуєте, що за 3 роки пошуковий павук не змінився?

при тому, що зовсім недавно гугл змінив критерії ранжування,
анонсував зовсім іншу схему оцінки сайтів)


"довірився", "здається",
"вірити давнім рекомендаціям", "баба бабі сказала" --
це все якійсь дурниці, нісенітниці ) imho)

IE6 давно вже закопали, а дехто і в 2020 все ще з jQuery носиться )
так що з давніми рекомендаціями люди носитись люблять (про релігії з церквами взагалі мовчу)


у мене є практика --
Google PageSpeed Insights прекрасно працює з js та вебсокетом

у вас є теорія.. чи навіть ще менше -- просто "довіритись" та "здається" :)


imho вірити в оці всі "баба бабі сказала" -- дурниці,
це культ карго -- коли нічого не знаєш, не розумієш,
і просто будуєш літак з соломи та поклоняєшся "давній рекомендації")

я зустрічав таку практику -- досвідчені сеошники
купують і підключають декілька доменів,
а через декілька місяців, чи рік, залишають лише один --
той, який гугл найбільш прийняв

в гугла часто змінюються алгоритми та додається все більше різних параметрів для оцінки,
а ви в 2020 оголошуєте js корнем всіх бід індексації )))

а тепер ще раз розкажіть про анти-вебсокет, про серверний рендер )
знайшли корінь проблем -- технологію прогресу, лол

Подякували: harentius1

37 Востаннє редагувалося 221VOLT (25.01.2020 10:15:40)

Re: Порадьте стек для JavaScript

leofun01 написав:
bebyk написав:

Глянув у своєму застосунку Реакту як рендериться гтмл в бравзері - а там нема контенту, крім пустого div root, ліл. Цікаво, як Реакт зістиковується зі SEO?

Ніяк.
Реакт, Анґулар, і їм подібні - інваліди в світі програмування. А server-side rendering - їхні костилі.

якщо ці інваліди декілька секунд гальмують
з доставкою контенту для пошукового павука --
все зрозуміло

гугл розпочав понижати в видачі сайти, які довго завантажуються

я не працював з реактом та ангуляром,
працюю з vanilla.js та вебсокетами фреймворку n2o (Erlang),
Google PageSpeed Insights дає оцінку 100 зі 100
:)
для порівняння --
типічному вордпресу Google PageSpeed Insights дає оцінку ~ 34 зі 100

з іншої сторони -- гугл вперто не хоче індексувати деякі сторінки,
де вебсокету взагалі немає, де немає динамічного підзавантаження контенту
:) imho проблема точно не у вебсокетах, не в js

Подякували: harentius1

38

Re: Порадьте стек для JavaScript

у наведеній вами статті дата -- 14 May 2017 (є смисл це читати??)

Якби ви хоча б по діагоналі проглянули ту статтю, ви б зрозуміли, що вона насправді підтримує вашу думку, а не проти неї.
Там показано, що в основному проблем не виникає. Знайдіть новішу аналогічну статтю/проведіть своє дослідження, я з радістю прочитаю.

Просто у ній дійсно спроба аналізу проблеми. Пробачте, але

"довірився", "здається",
"вірити давнім рекомендаціям", "баба бабі сказала" --
це все якійсь дурниці, нісенітниці ) imho)

Ваша аргументація теж не занадто сильна. Ви апелюєте до "Google PageSpeed Insights" - але це ж не інструмент аналізу присутності у пошуку! Якщо уже на те пішло, то потрібно розглядати Google Search Console. Я вже мовчу, про те, що є й інші пошукові системи.

А взагалі я вже наче сказав, що згоден з вами, що зараз js сайти дуже непогано індексуються гуглом (але все одно є певні нюанси, наприклад, попадання у кеш гугла). На цьому наче ж дискусія була вичерпана, ні?)

Реакт, Анґулар, і їм подібні 

...програмні рішення для управління складністю, щоб можна було реалізувати складну логіку клієнтського додатка і при цьому не бути генієм і не писати це все одним вдихом з неможливістю внести правки через пару місяців.
Також реалізація типових рішень, щоб не тратити повторно час на їх реалізацію, і можна було б більше зосередитися на логіці, яка дійсно унікальна для додатка.

Подякували: leofun01, 221VOLT2

39

Re: Порадьте стек для JavaScript

221VOLT написав:

типічному вордпресу Google PageSpeed Insights дає оцінку ~ 34 зі 100

В мого вордпресу майже соточка на десктоп-версії. :)

Щоправда мобільна версія має менше, ніж половину того. Але то вже інша історія.

Подякували: 221VOLT1

40

Re: Порадьте стек для JavaScript

bebyk написав:
221VOLT написав:

типічному вордпресу Google PageSpeed Insights дає оцінку ~ 34 зі 100

В мого вордпресу майже соточка на десктоп-версії. :)

Щоправда мобільна версія має менше, ніж половину того. Але то вже інша історія.

:D це та самісінька історія))
у вас мало плагінів, і все-одно соточка для мобільних вашому вордпресу не світить :)

у wp майже всі плагіни поголовно включають js в head  :D