Комментарии 34
Старт на React породил 112 проблем
Очень странный способ считать проблемы — по числу доступных стартерпаков. Интересно, почему для Angular такой подсчет не проводили. Вот здесь разных вариантов тоже хватает.
загуглил «как отправить HTTP запрос в React» и получил ссылку на stackoverflow, где мне сказали, что можно юзать fetch, axios, еще что-нибудь.
fetch — это нативное браузерное api, vanilla.js. Если разработчик не знает возможности платформы и не может сделать базовые вещи без помощи фреймворка, то надо учиться, а не инкрементить счетчик проблем.
Кроме того, если автор формирует мнение такими очевидными манипуляциями, то и сам он не вызывает доверия и далее его читают — строчку через три. В результате, смысл голосования вообще теряется. Получается смысл «сколько нубов клюнули на крючок Ангуляра, вывешенный автором?».
С другой стороны, "неширокая" публика и не будет писать на Elm и т.д.
Я бы еще Kotlin для React добавил. Есть официальная обертка от разработчиков JetBrains.
Я пробовал на нем написать простое приложение (табличный список и форма редактирования), мне зашло хорошо.
В Реакте ДИ нет. Но дело в том, что на Реакте можно писать без инъекций, а в Ангуляре без них писать невозможно.
Насколько я понимаю, инъекции в ангуляре — это способ получения экземпляров сервисов именно самого ангуляра, которые часто привязаны к положению компонента в дереве. Поправьте, если я ошибаюсь.
То, что это удобный и хороший паттерн — я не спорю (только в джаваскрипте он реализуется худшим из возможных способов).
Да сколько можно-то. То есть JSX у вас странный, а вот @[{вся}=эта;] каша[()] — типа просто «некие скобочки»?
(click)="doSomething()"
можно писать on-click="doSomething()"
а вместо [text]="someProperty"
писать bind-text="someProperty"
Таким образом при работе с Angular можно получить самый обычный HTML, который будет понятен любому.Однако все равно не понимаю как, например, такая штука будет понятна любому:
<li *ngFor="let user of userObservable | async as users; index as i; first as isFirst">
{{i}}/{{users.length}}. {{user}} <span *ngIf="isFirst">default</span>
</li>
И если прочитать её еще можно, то отредактировать её — вообще не понятно. Откуда там async взялся? Почему после палочки идут точки с запятой? Как писать ngFor без *?
Последнее — вообще эпик, оказывается можно писать вот так:
<ng-template ngFor let-item [ngForOf]="items" let-i="index" [ngForTrackBy]="trackByFn">
Что можно переписать как
<ng-template ngFor let-item bind-ngForOf="items" let-i="index" bind-ngForTrackBy="trackByFn">
если я правильно понял. Ну как бы если это у вас «наиобычнейший html», I'm sorry for you.Примеры взяты отсюда
В angular 1 директива цикла была месивом. Ну и ничего и не поменялось:)
Я начал знакомство с React, естественно, с выбора идеального Starterpack — я же ничего не понимаю в React.
А как же create-react-app ссылка на которой есть в официальной документации в разделе Install? Половины описываемых проблем бы просто не было.
В случае с React самым популярным языком пока остается JS. Сейчас есть небольшое движение в сторону TypeScript
"Небольшое движение" — это нативная поддержка JSX в Тайпскрипте, с проверкой шаблонов во время компиляции.
1. R лучше в плане понимания архитектуры в голове (как то оно все в виде дерева для меня).
2. A реально удобнее на старте — все под рукой сразу.
3. В R нужно понять: как работать c redux и юзать для сайдеффектов (привет thunk или saga) и для этого нужно искать реализации.
4. Как я не пытался, R как то не очень подходит под «ивент» архитектуру (опыта немного но все же). Здесь, на мой взгляд, ярче будет A.
В каждом фреймворка своя идеология и ее нужно научится понимать и все будет как по-маслу)
P.S. Есть у кого-то удобный архитектурный пример работы R, saga и socket?
Бешеные псы: Angular 2 vs React