증강 현실은 깔끔한 개념입니다. 우리는 우리 주변의 세계를보고 이미지, 텍스트, 사운드 및 비디오로 보충합니다. 기술 회사는 메타 안경, Microsoft HoloLens 및 Magic Leap과 같은 장치와 함께 AR의 가능성을 탐색하기 시작했습니다. 이 매우 흥미 진진한 AR 헤드셋은 아직 소비자 출시 준비가되어 있지 않으므로 모든 가정에 쌍이있는 시간이 조금 걸릴 수 있습니다. 그러나, 모바일 브라우저 -
- -
이 데모에는 현재 모바일 용 Google Chrome이 필요합니다. 잠재적으로 모바일 용 Firefox에서도 작동 할 수 있지만 HTC One M9에서 시도했을 때 클릭 이벤트가 트리거되지 않았다는 것을 알았습니다. 또한 일부 데스크탑 브라우저 (Chrome 및 Opera는 내 Mac에서 잘 작동 함)에서 작동하지만 터치 이벤트가있는 스마트 폰과 같은 경험은 아닙니다. 태블릿에서는 깔끔 할 수 있습니다
또한 IFTTT 계정과 HTTP 요청을 트리거하는 규칙으로 제조업체 채널을 설정하는 방법에 대한 지식이 필요합니다. IFTTT를 처음 접한다면 이전에 IFTTT를 사용하여 Lifx 전구를 IoT에 연결하는 것에 관한 기사의 기본 사항을 살펴 보았습니다. Maker Channel을 처음 접하는 사람들의 경우 IoT 및 Node.js를 IFTTT에 연결할 때도 다루었습니다. 마지막으로, 마커를 종이에 인쇄해야합니다. 우리가 사용할 마커는 이것입니다 : 코드를 바로 들어가서 시험 해보고 싶다면 Github에서 모두 사용할 수 있습니다. <j> awe.js <j> awe.js는 3.js, 장치의 카메라 및 브라우저에서 증강 현실을 생성하는 매우 현명한 기술을 사용하는 JavaScript 라이브러리입니다. Awe.js Github Repo에서 라이브러리와 일부 샘플을 다운로드 할 수 있습니다. 그것은 네 가지 종류의 AR 경험을 제공하며, 각각의 예제로 Repo에서 자체 예를 들어 있습니다 : <p>. </p> <arar> geo_ar - 객체를 세트 Compass Points에 배치 할 수 있습니다. <ar> grift_ar - Oculus Rift와 호환됩니다 <ar ar> leap_ar - 도약 모션 컨트롤러와 통합 <ar> Marker_ar - 증강 현실 마커에 위치한 경험을 만들 수 있습니다. 이것은 우리 가이 데모에서 함께 일할 것입니다. <img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173993803013054.png?x-oss-process=image/resize,p_40" class="lazy" alt="awe.js가있는 브라우저의 증강 현실" > <h2> <ed> 우리의 증강 현실 데모 코드 <code> 우리의 데모 코드의 길이는 300 줄 이상이지만 비슷한 객체에 대한 많은 코드가 반복됩니다. Demo의 Github Repo에서 데모 코드를 다운로드하고 여기에 제공된 설명과 함께 다음을 따르는 것이 좋습니다. 모든 것이 어떻게 작동하는지에 대한 아이디어가 있으면 땜질을하고 자신의 무언가를 만들어보십시오. </code></ed> </h2>. <the> 모든 것이 창의로드 이벤트 내에서 시작됩니다. 우리가 포함하는 첫 번째 것은 AR 제어판 (여기에서“메뉴”)이 열려 있는지 여부를 추적하는 변수입니다. 처음에는 닫힙니다. <p> </p> <start> 그런 다음 Awe.js 라이브러리를 사용하기 시작합니다. 우리가하는 모든 일은 Window.awe.init () 함수 내에서 정의됩니다. 우리는 AR 장면의 글로벌 설정으로 시작합니다. <h2> <pre class="brush:php;toolbar:false"><span>window.addEventListener('load', function() { </span> <span>var menu_open = false; </span> <span>// Our code continues here </span> <span>});</span> -
설정 - 설정 설정 실제로 여기에서 라이브를 변경하고 싶을 수도 있습니다. 여기에는 다음이 포함됩니다. -
-
일단 설정이 설치되면 Awe.js가 초기화되었을 때해야 할 일을 정의합니다. 모든 것이 awe.util.require () 함수 내에 랩핑되어 필요한 추가 JavaScript 파일을로드하기 전에 필요한 브라우저 기능을 정의합니다. 다른 GitHub 예제에 나열된 기능을 사용하여 이러한 브라우저에서 AR 앱이 일부 브라우저에서 작동하지 않도록 데모에 필요한 브라우저 기능 만 정의하십시오. 예를 들어, 나침반 지점을 기반으로 요소를 배치하려면 '자이로'기능에 액세스해야합니다. 대부분의 데스크탑 브라우저에서는 작동하지 않습니다. 우리는이 데모에서 그것을 필요로하지 않으므로 제외합니다. -
정의 된 파일은 awe.js-lib/awe-standard dependencies.js, lib/awe-standard.js 및 lib/awe-standard-window_resized.js에 대한 특정 기능을 가져옵니다. awe.js 및 취급 창 크기 조정을위한 표준 비트 및 조각. 우리의 데모는 마커를 사용합니다. 마커 아래에 나열된 다른 두 파일이 필요합니다.
모든 파일을 성공적으로로드 한 후에는 Aptly Notion () awe.js 함수를 실행합니다. 요소 표시를 시작할 때 항상 실행되는 첫 번째 기능은 awe.js 장면을 설정합니다. awe.js의 모든 요소는 "관심 지점"(POI) 내에 있습니다. 이들은 객체가 내부에 배치 될 수 있다는 좌표를 통해 표시된 장면의 특정 지점입니다. 당신은 요소 자체뿐만 아니라 awe.js 내에서 pois를 움직일 수 있습니다. 우리는 특정 용지 마커가 보이는 곳에 위치 할 단일 POI를 만듭니다. POI를 만들려면 awe.js 함수의 awe.pois.add (). '마커'의 ID를 주었지만 코드 의이 POI에 대한 다른 참조에 걸쳐 일관성이있는 한 원하는 것을 부를 수 있습니다. 우리는 초기 위치를 (0,0,10000)로 설정하여 사용할 준비가 될 때까지 멀리 떨어져 있습니다. 우리는 또한 마커를 발견 할 때까지 보이지 않도록 설정했습니다. <span>window.addEventListener('load', function() { </span> <span>var menu_open = false; </span> <span>// Our code continues here </span> <span>});</span>
예측으로 추가 할 수있는 객체에 대한 몇 가지 옵션이 있으므로 자세히 설명하겠습니다. 주목하십시오 - 위치 및 회전을위한 모든 x, y 및 z 값은 POI와 관련이 있습니다. 그 poi는 id에 의해 {poi_id : 'Marker'}로 정의됩니다.지오메트리 - 이것은 프로젝션의 3.js 지오메트리 옵션을 나타냅니다. 각 유형의 지오메트리에 필요한 옵션은 Awe.js에 제공된 옵션과 일치합니다. 예를 들어, 3.js의 spleygegeometry는 awe.js의 {shape : 'sphere', radius : 10}으로 표시됩니다. 현재 사용 가능한 Awe.js 버전에서 BoxGeometry는 여전히 CubeGeometry를 사용하고 있습니다. 따라서 상자를 만들려면 {shape : 'cube', x : 20, y : 30, z : 5} 형식을 사용합니다 (이름에도 불구하고“큐브”일 필요는 없습니다).
위치 - POI와 관련하여 항목의 X, Y 및 Z 축을 조정할 수 있습니다. 회전 - POI와 관련하여 x, y 및 z 축으로 항목을 회전시킬 수 있습니다. 나는 X 축에서 벌레 홀을 90도 회전시켜 테이블에 평평하고 z 축으로 45도에 앉아 더 자연스럽게 보였을 때 (항상 마커와 정확히 일치하지는 않으므로 대각선에서 이것을 덜 분명하게 만듭니다). 재료 - 이것은 프로젝션의 3.js 재료를 정의합니다. 나는 'Phong'(3.js의 MeshphongMaterial)을 사용하는 것을 고수했지만 'Lambert', 'Shader', 'Sprite'및 'sprite_canvas'도 옵션으로 사용할 수 있습니다. 우리는 또한 그 색상을 16 진로 정의 할 수 있습니다 텍스처 - 이것은 데모에 사용되지 않지만이 기사에 완전성을 위해 포함하고 싶었습니다. 텍스처를 정의하려면 텍스처를 포함시킬 수 있습니다. <span>window.awe.init({ </span> <span>device_type: awe.AUTO_DETECT_DEVICE_TYPE, </span> <span>settings: { </span> <span>container_id: 'container', </span> <span>fps: 30, </span> <span>default_camera_position: { x:0, y:0, z:0 }, </span> <span>default_lights: [{ </span> <span>id: 'point_light', </span> <span>type: 'point', </span> <span>color: 0xFFFFFF </span> <span>}] </span> <span>},</span>
데모에서, 나는 7 개의 다른 상자/큐브를 장면에 추가하고, 각각은 30 픽셀 높이이며 y 축에 31 픽셀을 배치하여 원래 웜홀에 의해 숨겨져 있습니다. 그들은 모두 약간 다른 너비입니다. 나는 X와 Z 좌표를 통해 웜홀의 중심에서 조금 뒤로 이동하지만 솔직히 말하면 -5가 버그가된다면 0에도 잘 남아있을 것입니다. y 축에서 45도 회전하여 웜홀 위에 멋진 각도로 향하도록했습니다. . 이들 각각에는 'ar_button_ {number}'의 ID가 있습니다. 여기서 숫자는 메뉴 버튼의 인덱스입니다. 이 ID는 IFTTT에 대한 HTTP 호출에 사용하므로 일관되고 정확하게 유지하는 것이 중요합니다! 투영이 정의 된 후, 우리는 AR 퍼즐의 다소 중요한 부분 인 마커 탐지 이벤트를 정의합니다. 우리는 이것을 function awe.events.add ()에 전달 된 배열로 추가합니다. <span>window.addEventListener('load', function() { </span> <span>var menu_open = false; </span> <span>// Our code continues here </span> <span>});</span>
우리는 하나의 awe.js 이벤트 만 받았으므로 여기에는 단일 이벤트가 있습니다. 이벤트는 우리가 무엇이든 부를 수있는 ID로 정의됩니다. 나는 그것을 'ar_tracking_marker'라고 불렀습니다. 우리는 적용 할 수있는 장치의 유형을 정의합니다. 이것은 모든 awe.js 예제에서 지금까지 repo에서 동일하게 보이므로 PC와 Android 세트와 같이 1으로 남겨 두었습니다. 그런 다음 마커를보고있는 이벤트 리스너를 추가하고 제거하기 위해 register () 및 unregister () 함수가 있습니다. 마커를 찾는 것에 대한 응답 안에서, 우리는 '마커'라고 불리는 POI를 물리적 종이 마커를 사용하여 그 자리로 옮기고 보이게 만들고 싶습니다. 이벤트를 사용하여 물리적 마커에 맞게 변환합니다. <span>window.awe.init({ </span> <span>device_type: awe.AUTO_DETECT_DEVICE_TYPE, </span> <span>settings: { </span> <span>container_id: 'container', </span> <span>fps: 30, </span> <span>default_camera_position: { x:0, y:0, z:0 }, </span> <span>default_lights: [{ </span> <span>id: 'point_light', </span> <span>type: 'point', </span> <span>color: 0xFFFFFF </span> <span>}] </span> <span>},</span>
우리는 또한 우리의 '웜홀'투영을 보이게 설정했습니다 마커가 표시되지 않지만 메뉴가 열려 있으면 열려 있도록 설정하지만 웜홀을 숨 깁니다. 이에 대한 주된 추론은 일부 빛이 바뀌면 마커가 불가능해질 수 있다는 것입니다. 우리는 돌아올 방법없이 특정 색상 조명에 자신을 가두고 싶지 않습니다! <span>ready: function() { </span> awe<span>.util.require([ </span> <span>{ </span> <span>capabilities: ['gum','webgl'],</span>
마커가없고 메뉴가 열려 있지 않으면 전체 POI가 숨겨져 있습니다. 우리는 Awe.js에게 장면을 업데이트하도록 지시하여 마무리합니다 우리가 설정할 실제 기능의 마지막 비트는 클릭 이벤트입니다. 이 모든 것은 Object_clicked 이벤트 내에 있습니다 <span>files: [ </span> <span>['lib/awe-standard-dependencies.js', 'lib/awe-standard.js'], </span> <span>'lib/awe-standard-window_resized.js', </span> <span>'lib/awe-standard-object_clicked.js', </span> <span>'lib/awe-jsartoolkit-dependencies.js', </span> <span>'lib/awe.marker_ar.js' </span> <span>],</span>
우리의 클릭 이벤트에는 e.detail.proeject_id 내에서 클릭 한 프로젝션의 ID가 포함되어 있습니다. 스위치 문을 사용하여 클릭에 반응하는 방법을 결정합니다. 웜홀을 클릭하면 가상 메뉴가 열리고 닫히면 가상 메뉴 버튼을 클릭하면 밝은 색상이 트리거됩니다. 각 버튼이 동일한 응답 코드를 실행하므로 스위치 문을 사용합니다. <span>window.addEventListener('load', function() { </span> <span>var menu_open = false; </span> <span>// Our code continues here </span> <span>});</span>
우리의 벌레 홀 클릭 이벤트 이벤트는 menu_open이 true인지 false인지 여부에 따라 메뉴를 열고 닫습니다. False 인 경우 awe.js awe.projections.update () 함수를 사용하여 1 초 동안 y 축의 각 버튼을 애니메이션합니다. 그것은 벌레 구멍에서 그것을 움직입니다. 각 프로젝션의 움직임의 유일한 차이점은 각 객체가 Y 축을 통해 얼마나 많이 움직이는 지입니다. 그렇지 않으면 메뉴가 열려 있으면 웜홀 아래의 초기 위치로 다시 이동하여 View에서 숨겨져 있습니다. IF IF IF DOSE 문 후, 우리는 MEN._OPEN이 그것이 무엇인지 반대하여 토글합니다. 그래서 우리는 그것이 어디에 있는지 추적합니다. <span>window.awe.init({ </span> <span>device_type: awe.AUTO_DETECT_DEVICE_TYPE, </span> <span>settings: { </span> <span>container_id: 'container', </span> <span>fps: 30, </span> <span>default_camera_position: { x:0, y:0, z:0 }, </span> <span>default_lights: [{ </span> <span>id: 'point_light', </span> <span>type: 'point', </span> <span>color: 0xFFFFFF </span> <span>}] </span> <span>},</span>
버튼 클릭 이벤트 내에서 우리는 버튼의 ID를 이벤트 이름으로 포함하고 IFTTT 서비스에 액세스하기위한 키를 포함하는 IFTTT에 HTTP 요청을합니다. 우리는 실제로 돌아 오는 데이터를 사용하지 않고 디버깅 목적으로 콘솔에 로그인하지만 실제 결과는 HTTP 호출에 반응하는 IFTTT에서 비롯됩니다. .
이 모든 후에, 비 호환성 등으로 인해 awe.js가로드되지 않으면 오류 메시지를 표시하기 위해로드하는 대체 스크립트가 있습니다. <span>ready: function() { </span> awe<span>.util.require([ </span> <span>{ </span> <span>capabilities: ['gum','webgl'],</span>
https 시간 입니다 업데이트 2015 년 말 -이 기사로 돌아가서 새로운 정보를 추가하기 위해이 기사로 돌아가고 있습니다. Chrome은 카메라를 사용하는 웹 페이지를 HTTPS에서 제공해야합니다. 따라서이 실행을 시도하기 전에 HTTPS를 통해 서비스를 실행하는 방법을 찾아야합니다. 지금까지 테스트에 사용한 방법 중 하나는 NGROK이며, 이는 LocalHost에 HTTPS 터널을 제공 할 수 있습니다. 우리는 Sitepoint의 어느 곳에서나 LocalHost에 액세스 할 수있는 가이드가 있습니다. 행동의 데모 우리가 모바일 크롬 에서이 코드를 실행하고 마커를 가리키면 웜홀이 나타나야합니다. 웜홀을 클릭하면 메뉴 버튼이 올바른 지점으로 애니메이션해야합니다. <span>files: [ </span> <span>['lib/awe-standard-dependencies.js', 'lib/awe-standard.js'], </span> <span>'lib/awe-standard-window_resized.js', </span> <span>'lib/awe-standard-object_clicked.js', </span> <span>'lib/awe-jsartoolkit-dependencies.js', </span> <span>'lib/awe.marker_ar.js' </span> <span>],</span>
메뉴 항목 중 하나를 클릭하면… Lifx 조명의 색상을 변경해야합니다! 결론
awe.js와 ar.js는 브라우저에서 증강 현실 경험을 만드는 강력한 도구입니다. 그러나 그들은 여러 가지 방법으로 다릅니다. Awe.js는 몰입 형 AR 경험을 만들기위한 광범위한 기능을 제공하는보다 포괄적 인 프레임 워크입니다. GPS, 나침반 및 자이로 스코프 추적을 포함한 여러 추적 방법을 지원하며 3D 모델도 지원합니다. 반면에 AR.JS는 마커 기반 추적에 더 중점을두고 있으며 고성능 및 효율성으로 유명합니다. 초보자에게는 사용하기가 더 쉽지만 awe.js. Awe.js를 사용하여 AR 웹 앱을 개발할 수 있습니다. Awe.js는 추가 플러그인이나 다운로드없이 브라우저에서 직접 AR 경험을 생성 할 수있는 JavaScript 라이브러리입니다. 따라서 웹 기반 AR 응용 프로그램을 개발하기에 좋은 선택입니다. 이를 사용하여 간단한 2D 오버레이에서 복잡한 3D 장면에 이르기까지 광범위한 AR 경험을 만들 수 있습니다.그것은 awe.js를 사용하여 브라우저에서 증강 현실을 시작하기 위해 알아야 할 모든 것입니다. 요즘 기술 세계의 많은 발전이하는 것처럼 그것은 많은 잠재력을 가지고 있습니다! Awe.js 팀은 끊임없이 플러그인을 작업하고 있으며 더 새롭고 더 완전한 특집 버전이 있어야합니다! Google Cardboard에 사용하기위한 3.JS 입체 효과를 설정하고 AWE.JS의 일부 기능과 결합하여 AR 헤드셋 경험을 구축 할 수도 있습니다. 나는 그것이 하나의 기사에 대해 조금 많을 것이라고 생각 했으므로 그 기사에 대한 미래 기사를 주시하십시오! 이 코드를 사용하여 AR 마술을 실험하거나 더 나아가면 주석에 메모를 남기거나 트위터 (@ThatPatrickGuy)에서 저와 연락을 취하면 확인하고 싶습니다! awe.js 가있는 브라우저에서 증강 현실에 대한 자주 묻는 질문 awe.js는 기능과 성능 측면에서 AR.JS와 어떻게 다른가? awe.js를 사용하여 구축 할 수있는 애플리케이션의 일부 예는 무엇입니까? 는 모든 브라우저와 호환 되나요?
awe.js는 많은 브라우저와 호환되도록 설계되었습니다. 가능한. 그러나 WebGL 및 WebRTC와 같은 고급 웹 기술을 사용하기 때문에 이러한 기술을 지원하지 않는 이전 브라우저에서는 작동하지 않을 수 있습니다. 최상의 결과를 얻으려면 Chrome, Firefox 또는 Safari와 같은 현대적이고 최신 브라우저와 함께 Awe.js를 사용하는 것이 좋습니다.다른 JavaScript 라이브러리 또는 프레임 워크와 함께 awe.js를 사용할 수 있습니까?
예, 다른 JavaScript 라이브러리 또는 프레임 워크와 함께 Awe.js를 사용할 수 있습니다. Awe.js는 유연하고 모듈 식으로 설계되었으므로 기존 JavaScript 프로젝트에 쉽게 통합 할 수 있습니다. 그러나 Awe.js의 일부 기능은 특정 라이브러리 나 프레임 워크와 호환되지 않을 수 있으므로 코드를 철저히 테스트하는 것이 항상 좋은 생각입니다.
awe.js로 문제를 해결할 수있는 방법은 무엇입니까?
awe.js에 문제가있는 경우 도움을 청할 수있는 몇 가지 리소스가 있습니다. Awe.js의 공식 Github 저장소에는 라이브러리의 모든 측면을 다루는 포괄적 인 문서가 포함되어 있습니다. Github의 문제 추적기를 확인하여 다른 사람이 같은 문제가 발생했는지 확인할 수도 있습니다. 거기서 솔루션을 찾을 수 없다면 스택 오버플로 또는 기타 온라인 개발자 커뮤니티에 대한 도움을 요청할 수 있습니다.는 awe.js 오픈 소스입니까? 오픈 소스 프로젝트. 즉, 라이센스 조건을 준수하는 한 코드를 자유롭게 사용, 수정 및 배포 할 수 있습니다. awe.js의 소스 코드는 Github에서 사용할 수 있으므로 버그 보고서를 제출하거나 새로운 기능을 제안하거나 자신의 코드를 제출하여 프로젝트에 기여할 수도 있습니다. .js?
오픈 소스 프로젝트 인 Awe.js는 주로 사용자 및 개발자 커뮤니티에서 지원됩니다. Awe.js에 대한 도움이 필요한 경우 프로젝트의 Github 페이지 또는 다른 온라인 개발자 커뮤니티에서 도움을 요청할 수 있습니다. Awe.js.awe.js 프로젝트에 어떻게 기여할 수 있습니까? -
device_type - 모든 예제는 이것을 awe.auto_detect_device_type로 설정하여 장치를 자동으로 감지하도록 요청합니다. 지금까지 나는 이것을 바꿀 필요가 없었다. container_id - 우리의 전체 경험이 내부에서 생성 될 요소의 ID. fps - 초당 원하는 프레임 (선택 사항) default_camera_position - 장면을 볼 수있는 기본 카메라 위치 (우리는 (0,0,0)에서 시작합니다). default_lights - 우리는 장면에 대해 다른 3.js 조명의 배열을 설정하여 각각의 ID를 제공하여 빛의 유형과 색상을 정의 할 수 있습니다. 우리의 데모에는 하나의 흰색 3.js 포인트 라이트 만 있습니다. 다양한 유형의 옵션이 있는데,이 유형의 3.js 조명 - '면적', '방향', '반구', '포인트'및 '스팟'에 해당합니다. -
위 내용은 awe.js가있는 브라우저의 증강 현실의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

웹 개발에서 JavaScript의 주요 용도에는 클라이언트 상호 작용, 양식 검증 및 비동기 통신이 포함됩니다. 1) DOM 운영을 통한 동적 컨텐츠 업데이트 및 사용자 상호 작용; 2) 사용자가 사용자 경험을 향상시키기 위해 데이터를 제출하기 전에 클라이언트 확인이 수행됩니다. 3) 서버와의 진실한 통신은 Ajax 기술을 통해 달성됩니다.

보다 효율적인 코드를 작성하고 성능 병목 현상 및 최적화 전략을 이해하는 데 도움이되기 때문에 JavaScript 엔진이 내부적으로 작동하는 방식을 이해하는 것은 개발자에게 중요합니다. 1) 엔진의 워크 플로에는 구문 분석, 컴파일 및 실행; 2) 실행 프로세스 중에 엔진은 인라인 캐시 및 숨겨진 클래스와 같은 동적 최적화를 수행합니다. 3) 모범 사례에는 글로벌 변수를 피하고 루프 최적화, Const 및 Lets 사용 및 과도한 폐쇄 사용을 피하는 것이 포함됩니다.

Python은 부드러운 학습 곡선과 간결한 구문으로 초보자에게 더 적합합니다. JavaScript는 가파른 학습 곡선과 유연한 구문으로 프론트 엔드 개발에 적합합니다. 1. Python Syntax는 직관적이며 데이터 과학 및 백엔드 개발에 적합합니다. 2. JavaScript는 유연하며 프론트 엔드 및 서버 측 프로그래밍에서 널리 사용됩니다.

Python과 JavaScript는 커뮤니티, 라이브러리 및 리소스 측면에서 고유 한 장점과 단점이 있습니다. 1) Python 커뮤니티는 친절하고 초보자에게 적합하지만 프론트 엔드 개발 리소스는 JavaScript만큼 풍부하지 않습니다. 2) Python은 데이터 과학 및 기계 학습 라이브러리에서 강력하며 JavaScript는 프론트 엔드 개발 라이브러리 및 프레임 워크에서 더 좋습니다. 3) 둘 다 풍부한 학습 리소스를 가지고 있지만 Python은 공식 문서로 시작하는 데 적합하지만 JavaScript는 MDNWebDocs에서 더 좋습니다. 선택은 프로젝트 요구와 개인적인 이익을 기반으로해야합니다.

C/C에서 JavaScript로 전환하려면 동적 타이핑, 쓰레기 수집 및 비동기 프로그래밍으로 적응해야합니다. 1) C/C는 수동 메모리 관리가 필요한 정적으로 입력 한 언어이며 JavaScript는 동적으로 입력하고 쓰레기 수집이 자동으로 처리됩니다. 2) C/C를 기계 코드로 컴파일 해야하는 반면 JavaScript는 해석 된 언어입니다. 3) JavaScript는 폐쇄, 프로토 타입 체인 및 약속과 같은 개념을 소개하여 유연성과 비동기 프로그래밍 기능을 향상시킵니다.

각각의 엔진의 구현 원리 및 최적화 전략이 다르기 때문에 JavaScript 엔진은 JavaScript 코드를 구문 분석하고 실행할 때 다른 영향을 미칩니다. 1. 어휘 분석 : 소스 코드를 어휘 단위로 변환합니다. 2. 문법 분석 : 추상 구문 트리를 생성합니다. 3. 최적화 및 컴파일 : JIT 컴파일러를 통해 기계 코드를 생성합니다. 4. 실행 : 기계 코드를 실행하십시오. V8 엔진은 즉각적인 컴파일 및 숨겨진 클래스를 통해 최적화하여 Spidermonkey는 유형 추론 시스템을 사용하여 동일한 코드에서 성능이 다른 성능을 제공합니다.

실제 세계에서 JavaScript의 응용 프로그램에는 서버 측 프로그래밍, 모바일 애플리케이션 개발 및 사물 인터넷 제어가 포함됩니다. 1. 서버 측 프로그래밍은 Node.js를 통해 실현되며 동시 요청 처리에 적합합니다. 2. 모바일 애플리케이션 개발은 재교육을 통해 수행되며 크로스 플랫폼 배포를 지원합니다. 3. Johnny-Five 라이브러리를 통한 IoT 장치 제어에 사용되며 하드웨어 상호 작용에 적합합니다.

일상적인 기술 도구를 사용하여 기능적 다중 테넌트 SaaS 응용 프로그램 (Edtech 앱)을 구축했으며 동일한 작업을 수행 할 수 있습니다. 먼저, 다중 테넌트 SaaS 응용 프로그램은 무엇입니까? 멀티 테넌트 SAAS 응용 프로그램은 노래에서 여러 고객에게 서비스를 제공 할 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
