React가 왕인 3가지 이유(& Flutter가 절대 능가하지 못하는 이유)
1. 유병률 및 커뮤니티
수십만(수백만은 아니더라도)의 개발자가 이미 React를 알고 있고 능숙합니다. 또한 Tesla, Facebook, Reddit, Salesforce, Tesla, Netflix, WhatsApp, Khan Academy 등의 회사는 모두 소프트웨어 기반 이니셔티브를 수행하기 위해 React에 의해 구동됩니다. 비즈니스 모델).
요컨대, 이 회사들은 모두 이미 React를 매일 사용하고 있으며 완전히 새로운 코드베이스를 구현하는 것은 많은 인터넷 기반 회사에서 실행 가능한 옵션이 아닙니다. 예를 들어 보겠습니다.
예를 들어 Khan Academy을 사용하십시오. 그들의 플랫폼은 1억 명 이상의 학생, 교사 및 학부모가 대화식 강의 및 실습을 통해 학교 기반 과목 및 학습 자료를 확장하는 데 사용됩니다. 전체 코드베이스(아마도 수억 줄의 코드)를 Flutter와 같은 것으로 변환하는 데 걸리는 엄청난 정밀 검사, 비용 및 시간을 상상할 수 있습니까? ? 테슬라, 레딧, 세일즈포스, 왓츠앱 등과 같은 다른 사람들에게도 동일한 본질적인 시나리오입니다. 단순히 실행 가능한 옵션이 아닙니다.
회사에서 Flutter로 전환하는 데 필요한 어려움과 복잡성을 고려하여 Flutter로 전환하지 않을 것이라는 사실을 기반으로 하는 것이 올바른 접근 방식이 아니라고 생각할 수 있습니다. 다음에 대해 생각해 보십시오.
Even if companies wanted to migrate to Flutter, they would still struggle with finding the necessary development personnel, infrastructure, resources, and tools in order to do so, as it is well known the community in and around React.js trumps anything that Flutter has managed to acquire over its few short years of existence.
2. 사용 편의성 및 실용성(개발자 경험)
기술을 알아봅시다. 다음은 특정
BloodTypes
열거형의 배열을 사용하여 이후에 클래스 메서드 내에서 기능을 처리하는 Dart의 내장 유형 안전성(문서 및 적절한 규칙에 따름)을 사용하는 Flutter 코드에서 발췌한 것입니다.List<List<List<BloodTypes>>> possibleCombinations = [
[BloodTypes.opos, BloodTypes.opos],
[BloodTypes.opos, BloodTypes.oneg],
[BloodTypes.oneg, BloodTypes.oneg],
[BloodTypes.apos, BloodTypes.opos],
[BloodTypes.apos, BloodTypes.oneg],
[BloodTypes.apos, BloodTypes.apos],
[BloodTypes.apos, BloodTypes.aneg],
[BloodTypes.aneg, BloodTypes.oneg],
[BloodTypes.aneg, BloodTypes.aneg],
[BloodTypes.bpos, BloodTypes.opos],
[BloodTypes.bpos, BloodTypes.oneg],
[BloodTypes.bpos, BloodTypes.bpos],
[BloodTypes.bpos, BloodTypes.bneg],
[BloodTypes.bneg, BloodTypes.bneg],
[BloodTypes.bneg, BloodTypes.oneg],
[BloodTypes.bneg, BloodTypes.bneg],
[BloodTypes.abpos, BloodTypes.opos],
[BloodTypes.abpos, BloodTypes.apos],
[BloodTypes.abpos, BloodTypes.aneg],
[BloodTypes.abpos, BloodTypes.bpos],
[BloodTypes.abpos, BloodTypes.bneg],
[BloodTypes.abpos, BloodTypes.abpos],
[BloodTypes.abpos, BloodTypes.abneg],
[BloodTypes.abneg, BloodTypes.oneg],
[BloodTypes.abneg, BloodTypes.aneg],
[BloodTypes.abneg, BloodTypes.bneg],
[BloodTypes.abneg, BloodTypes.abneg,]
]
List<List<List<BloodTypes>>> generate() {
List<List<List<BloodTypes>>> models = [];
for (int i = 0; i < 324; i++) {
List<List<BloodTypes>> model = [];
for (int j = 0; j < 6; j++) {
List<BloodTypes> pair = [];
int r1 = Math.Random().nextInt(7);
int r2 = Math.Random().nextInt(7);
BloodTypes donor = matchNumType(r1);
BloodTypes patient = matchNumType(r2);
pair.add(donor);
pair.add(patient);
model.add(pair);
}
models.add(model);
}
return models;
}
유형 주석이 얼마나 지저분한지 살펴보십시오:
List<List<List<BloodTypes>>>
. 이런. 실제 기능의 실제 구문 우수성은 말할 것도 없고 개인 취향에 따라 결정됩니다.즉, 다음은 앞서 언급한 유형 주석이 TypeScript에서 표현되는 방식입니다:
BloodTypes[]
. 또는 JavaScript의 경우 유형 주석이 전혀 없습니다. React에는 옵션이 있습니다.아, 단순함.
3. 고궁
NPM (노드 패키지 관리자)는 지난 달에만 총 2백만 개에 가까운 패키지와 1676억 다운로드를 기록했습니다. 예, 10억입니다. 도달 범위? 전례 없는. 그것의 신뢰성? 타의 추종을 불허합니다.
Dart 자체pub.dev는 최근 몇 년 동안 엄청난 발전을 이루었지만, 매일 계속 성장하는 npm의 라이브러리에 기여하는 엄청난 양의 패키지 및 개발자와 비교할 수 없습니다.
결론 생각
React가 Flutter보다 우수하다고 말할 수 있는 이유는 무수히 많습니다(작업 가용성, TS와의 통합, 원사 작업 공간, 크로스 플랫폼 및 모바일 + 데스크톱과의 웹 통합 등). 결국 모든 것은 개인 취향에 달려 있습니다.
즉, 저는 Flutter를 매우 존경합니다. 어떤 식으로든 나는 언어나 Dart를 싫어하지 않으며 단순히 React를 선호합니다(둘 다 광범위하게 사용하는 것에서).
성급히 결론을 내리기 전에 해당 주제에 대해 직접 조사하고 React와 Flutter를 모두 사용해 보시기 바랍니다.
Reference
이 문제에 관하여(React가 왕인 3가지 이유(& Flutter가 절대 능가하지 못하는 이유)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/filippofonseca/x-reasons-why-react-is-king-why-flutter-will-never-surpass-it-3739텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)