HTML5 / JS는 결국 모든 클라이언트 측 언어를 대체합니까? [닫은]


12

나는 단지 그것의 미래에 대해 궁금합니다. IMHO에는 기술이 어디로 가야하는지 정의하는 4 가지 힘이 있습니다 : Microsoft, Apple, Google, Adobe.

Apple의 iPhone / iPad iAD에서 HTML5로 프로그래밍 할 수있는 것처럼 보입니다. HTML5가 결국 objective-c를 대체한다는 의미입니까?

또한 Microsoft는 이제 포커스를 WPF / Silverlight에서 HTML5로 옮겼으며 Visual Studio 2011이 HTML5의 툴링 지원에 관한 것이라고 가정합니다. 그것이 Microsoft가하는 일이기 때문입니다. (도구). 몇 달 동안 IE9는 마지막 주요 브라우저가 HTML5를 지원할 것입니다.

마찬가지로 Adobe는 HTML5에 대한 최신 정보를 얻었으며 최신 도구를 사용하여 Flash 내용을 HTML5로 내보낼 수 있습니다.

우리는 모두 Google이 html5를 얼마나 사용하고 있는지 알고 있습니다. Heck의 최신 운영 체제 (Chrome OS)는 뚱뚱한 웹 브라우저 일뿐입니다.

모바일 용 앱 (예 : iPhone, Android, WM7)은 회사에서 특히 다양한 언어의 장치 (자체 언어로)를 프로그래밍하기가 매우 어렵 기 때문에 오래 지속되지 않을 것이라고 가정합니다. 즉, HTML5는 통합 언어가 될 것입니다. 사용자가 웹에서 무료로 "멋진"html5 앱을 무료로 재생할 수 있기 때문에 앱 개발자에게는 다소 슬픈 일입니다.

따라서 강력한 형식의 언어가 실제로 운명에 처해 있으며 앞으로 5-10 년 동안 클라이언트 측 프로그래밍은 HTML5로만 진행됩니까? 우리 모두 자바 스크립트 프로그래머가 되나요? :) 표지판이 확실히 그런 식으로 가리키고 있기 때문에 ...


1
그 진보적 인 옹호자들은 지금까지 무덤에서 굴러 가야합니다.
Gio Borje

2
강력한 타이핑의 이점이 더 이상 필요하지 않다고 말하는가?
Aaron Anodide

1
VS 2011이 아니라 VS 2012가 될 것 같습니다.
DeadMG

6
그럴 경우, 나는 자살해야합니다.
Job

2
브라우저 호환성에 대해 걱정하고 있습니다. 너무 유치합니다.
머핀 맨

답변:


14

HTML5 / JS가 모든 클라이언트 측 언어를 대체 할 것이라고 제안하는 것은 잘못된 생각 입니다. 앞으로 몇 년 동안 많은 응용 프로그램이 그렇게 될 것입니까? 네 아마도. 그들 모두입니까? 아니.

주목할 다른 요점은 풍경이 끊임없이 변화하고 있다는 것입니다. HTML5는 크로스 플랫폼에서 작동하는 응용 프로그램을 작성할 때 개발자가 현재 겪고있는 많은 문제를 해결할 것을 약속하는 훌륭한 기술입니다. 물론 HTML5 / JS는 이러한 많은 문제를 해결할 수 있지만 상황이 바뀌고 새로운 문제가 발생합니다. HTML5는 결국 날짜가 지난 것 같습니다.

10 년 안에 HTML5 / JS가 모든 문제에 대한 해결책 이었는지 스스로에게 물어보십시오. 그러나 나는 대답이 아니라고 보장 할 수 있습니다. 20 년 안에 문제 자체는 어리석게 보일 것입니다.


+1 전적으로 동의합니다. 역사상 조금 되돌아 보면 "최신 및 가장 큰"은 항상 새로운 "최신 및 가장 큰"로 대체됩니다. 그것은 프로그래밍에있어 큰 부분 중 하나이며, 항상 진화 할 것입니다.
Beth Whitezel

컴퓨터 사용자 상호 작용-펀치 카드, 키보드, 마우스 등 다양한 속도로 진화하지만 클라이언트 응용 프로그램 개발-연설, 3D-주요 게임 체인저가 추가 될 수 있기 때문에 다음 단계가 궁금합니다. 키보드 / 마우스? 나는 그렇게 생각합니다-언제 확실하지는 않습니다.
Aaron Anodide

6

자바 스크립트는 매우 열악한 프로그래밍 언어입니다. GWT를 사용한 Java와 같이 정적으로 유형이 지정된 프로그래밍 언어에서 번역이 점차 일반화되고 있습니다. Javascript는 어셈블러와 동일한 종류의 통합 언어가 될 수 있습니다. 직접 작성할 수는 있지만 거의 좋은 생각이 아닙니다.


1
정적으로 유형이 지정된 언어에 대해서만 모르지만 거기에 jQuery 또는 MooTools 등을 던지면 동의합니다. :)
Damovisa

8
JavaScript가 열악한 언어라는 의견에 동의하지 않습니다. 절대적으로 올바르지 않습니다! :) 수년 동안 Java 또는 다른 서버 측 언어를 알고 있고 새로운 언어를 학습하여 자신을 향상시키고 싶지 않으며 JavaScript가 좋지 않다고 말하는 게으른 프로그래머가 많이있는 것 같습니다 .D 그래서 많은 도구가 있습니다 서버 측 언어로 JavaScript를 생성하는 프레임 워크! JavaScript는 웹 토이가 아니며 실제 언어입니다!
Zango

나도 동의하지 않습니다. JavaScript에 대해 말하는 것은 잘못된 의견이라고 생각합니다. 많은 전문가들과 성공적인 제품들은 동의하지 않을 것입니다. 시간은 최고의 테스트이며, 지금까지 JS는 기술 시계를 풍화시키는 훌륭한 일을하고 있습니다.

10 줄의 Javascript를 작성하고 페이지를 다시로드 할 때 변경 사항을 핫 스왑 할 수 있기를 희망하면서 왜 50 줄의 Java를 작성하는 것을 선호하는지 상상할 수 없습니다. 아니면 내가 보이지 않을 때 웹 서버 다시 시작이 제거 되었습니까?
케빈 클라인

5
저는 커리어 동안 약 12 ​​개 언어로 상용 소프트웨어를 작성했으며 매일 JavaScript를 작성합니다. 자바 스크립트는 1995 년에 몇 주 동안 고 안되고 구현되었다는 점을 고려할 때 합리적인 언어입니다. 그럼에도 불구하고 저는 JavaScript 사과 학자를 이해할 수 없습니다. 책임있는 코더가 특정 언어 기능을 완전히 피하고 원래 기능이없는 기능을 제공하기 위해 의도하지 않은 방식으로 다른 언어를 사용해야하는 심각한 결함이 있습니다. 어쩌면 그들은 큰 프로젝트에 사용하지 않습니까? 코더가 많은 대형 시스템에 사용하는 것이 상대적으로 어렵다는 것을 알았습니다.
PeterAllenWebb

1

예.

이유는 다음과 같습니다. 앱은 사용자 인터페이스 코드와 백엔드 데이터로 구성됩니다. 사용자 인터페이스 코드는 HTML5 / CSS3 / Javascript에서 실행됩니다. 백엔드 코드는 독점적이며 어떤 언어로든 실행될 수 있습니다. 또한 jQTouch 및 이와 유사한 라이브러리를 사용하여 iPhone과 유사한 UI를 에뮬레이트 할 수 있지만 오픈 소스이고 Javascript / HTML5 / CSS로 작성되었습니다. jQTouch는 브라우저가 JS 프로그래머에게 장치의 UI 이벤트에 대한 액세스를 제공하면 JS 프로그래머는 동일한 플랫폼에 대해 어떤 UI 스타일을 흉내내는 것을 보여줍니다.

자바 스크립트 프로그래머는 그 어느 때보 다 수요가 많을 것입니다. 모델 뷰 컨트롤러 아키텍처에서 모델과 컨트롤러는 백엔드에 있지만 뷰 코드는 브라우저에서 가장 잘 작성됩니다. 즉, HTML5, 자바 스크립트, CSS. 또한 특히 AJAX 코드가 많은 백엔드 데이터에 액세스하려면 JS 코드를 작성해야합니다.

생산성 향상은 모두 동적으로 해석되는 언어로 이동합니다. 프로세서가 점점 빨라짐에 따라 프로그래머 코딩 생산성, sysadmin 생산성 및 앱 관리자 생산성은 전체 생산성에 더 큰 영향을 미칩니다. 프로그래밍 언어의 VM 또는 컴파일러의 성능이 더 이상 걱정되지 않아도됩니다. 앱을 프로비저닝하고 지원하는 데 드는 비용에 대해 더 걱정해야합니다.

대부분의 독립형 앱은 제 생각에는 그리 좋지 않습니다. 훌륭한 독립형 PC 앱이 거의없고 최고의 앱이 웹 앱으로 변환되고있는 것처럼. 실제로 HTML / JS / CSS 클라이언트 앱을 무료로 제공하고 백엔드 데이터 및 비즈니스 로직에 액세스하기 위해 월별 요금을 청구하는 것이 좋습니다. 프로그래머는 원샷 앱보다 구독을 더 잘 판매합니다.

BTW는 웹킷 브라우저에서 독립형 웹 앱의 일부를 작성하는 방법 에 대해이 비디오를 살펴 봅니다 . 흥미 롭습니다 ...


1
"원샷"앱의 장점 중 하나는 웹의 거의 모든 곳 에서처럼 성가신 사용자 이름 / 암호를 수행 할 필요가 없다는 것입니다. 상태는 로컬로 저장됩니다. 또한 많은 클라이언트 측 앱에는 실제로 백엔드가 필요하지 않습니다. 플래시 게임을 생각하십시오. 그리고 세계에서 누가 축구 엄마 플래시 게임 구독을 구입합니까? 아무도. 그리고 전 세계에서 누가 모바일 앱을 구매합니까? 여러분. 불행히도 html5가 앱을 죽일까 걱정됩니다. 독립 개발자가 한 번 돈을 버는 것이 좋았습니다.

@Schnitzel-독립 개발자도 백엔드를 구축하면 돈을 벌 수 있습니다.
Jay Godse

2
입니다 - -1 "생산성 향상은 모든 동적 갈 것이다 언어 해석" 매우 내 의견으로는 거짓입니다. 스칼라와 같은 정적 유형컴파일 언어 에서 훨씬 더 생산적입니다 . PHP, Python 및 Ruby와 같은 동적 언어보다 IDE에서 직접 오류가 훨씬 빠릅니다.
Jonas

스칼라 대신 PHP / Ruby / Python을 사용하면 아무런 이점이 없습니다.
Jonas

@Jonas는 -에서 당신의 자신의 질문에 programmers.stackexchange.com/questions/7516/...는 동적 언어는 생산성 팩을 이끌 것을 제안한다.
Jay Godse

1

C ++, Java ...와 같은 애플리케이션 코딩 언어를 HTML / Javascript로 대체하려는 의지가 있습니다. 그 뒤에는 여러 가지 이유가 있습니다.

  • 빠른 개발
  • 저렴한 인력
  • 연결성 내장
  • 좋아 보이는 것을 쉽게 만들 수 있습니다
  • 색인 엔진에서 텍스트에 액세스 가능

또 다른 언어가 JavaScript의 드롭 인 대체품으로 사용될 수도 있습니다. 결국, 고급 언어를 유지하면서 모든 것을 올바르게 할 수있는 언어를 갖는 것은 어렵습니다! 그리고 JavaScript는 얼마 동안 사용되어 왔으며 몇 가지 단점이 있습니다.

JavaScript는 클라이언트 측의 주요 언어가 될 수 있지만 JS는 표준 중심의 설계 중심의 언어이기 때문에 단순히 혁신을 죽일 수 있기 때문에 JavaScript가 유일한 언어 가 될 수 있다고 생각하지는 않습니다. 그 수준에서 (프로그래밍 언어).


0

또한 대다수 개발자의 기술과 그들이 사용하는 도구에 달려 있습니다. 언급 한 기술 거인은 그들이 제공하는 도구를 기반으로 기술을 주도 할 수 있습니다. 예를 들어 사람들은 HTML5가 플래시 킬러라고 말하지만 너무 멀리 떨어져 있다고 생각합니다. Flash 개발자가 많으며 기술을 JavaScript로 전환하는 것은 어려운 일입니다. 결국 기술은 동일하게 유지되지만 출력은 달라집니다. 이 경우 Adobe는 HTML5 변환 도구를 제공합니다.

또한 클라이언트 응용 프로그램의 성능에 대해서도 고려해야합니다. 필요한 경우 플랫폼 별 도구가 사용됩니다. 예를 들어 게임 및 iOS 앱을 사용합니다. 나는 WebGL이 잘 나오고 있다는 것을 알고 있지만 사람들이 여전히 C를 사용하여 게임을 만든다고 생각합니다. 또는 고성능 게임을 만드는 게임 언어를 만들 것입니다. 애플은 처음에는 웹앱 만 원했지만 개발자가 코코아의 경이로움을보고 고급 앱을 만들기 위해 뛰어 들었다.

요약하면, 항상 현재 도구 보다 더 멋진 새로운 도구 / 언어 / 기술이있을 것입니다.


0

아마도 대부분이 아닐 수도 있습니다. 아마도 javascript가 HashCalc 을 대체하기에 충분히 빠를 수 있지만 VLC에 대한 웹 대안은 없습니다 (브라우저가 모든 코덱을 지원하지는 않습니다). 나는 웹 브라우저가 내가 원하는 파일에 액세스하거나 최근 파일 목록을 저장할 수 있는지 의심합니다 (최근 파일을 클릭 할 때마다 '액세스가 괜찮습니다'없이) 99 % 웹 브라우저 인 앱을 배포하는 아이디어가 마음에 들지 않습니다. bc 브라우저가 HTML과 이전 버전과 호환되지 않거나 웹킷의 변형 / 약간 수정이 필요한 경우 100kb의 코드가있는 (여러 MB).

-edit- 또한 동적보다는 정적 언어를 좋아하지만 브라우저에서 지원 해야하는 LLVM으로 좋은 언어를 사용할 수 있다고 가정합니다.


-1

브라우저가 운영 체제가 될 때까지 계속해서 그 방향으로 나아가고 모든 것이 같은 순서로 재순환되기 시작하지만 교훈과 개선 사항이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.