// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= NetBeans IDE 的指导性视频演示
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: NetBeans IDE 的指导性视频演示 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, NetBeans IDE 的指导性视频演示

观看以下截屏视频，了解 NetBeans IDE 的新增功能和重要功能。


== NetBeans IDE 8.0 概述

|===
|link:java/jdk8-migration-screencast.html[+ +]image::../../images_www/v7/2/nb72-video-thumb.png[]
 |link:../../community/releases/80/index.html[+*NetBeans IDE 8.0*+] 完全支持最新的 Java 8 技术 -- Java SE 8、Java SE 嵌入式 8 和 Java ME 嵌入式 8。IDE 还为 Maven 以及带 PrimeFaces 的 Java EE 提供了一系列新的增强功能；提供了面向 HTML5 的全新工具，尤其适用于 AngularJS；还有针对 PHP 和 C/C++ 支持的改进。

观看 link:ide/overview-screencast.html[+*NetBeans IDE 8.0 概述视频*+]，了解该最新发行版中的新增功能和重要功能。
 
|===


== NetBeans IDE 8.0 截屏视频

|===
|image:::images/smartmigration.png[role="left", link="java/jdk8-migration-screencast.html"] 

播放时长：14:00
link:http://bits.netbeans.org/media/smart-migration-java8.mp4[+*下载*+] [60 MB]

 |link:java/jdk8-migration-screencast.html[+ 智能迁移至 JDK 8+]

此截屏视频指导您了解 Java 8 中语言增强功能的关键功能，以及如何使用 IDE 帮助您将代码迁移至 Java 8。

 |  |image:::images/primefaces.png[role="left", link="javaee/maven-primefaces-screencast.html"] 

播放时长：4:39
link:http://bits.netbeans.org/media/prime-faces-nb8.mp4[+*下载*+] [37 MB]

 |link:javaee/maven-primefaces-screencast.html[+ 使用 NetBeans IDE 8 进行 PrimeFaces 开发 +]

此截屏视频演示如何通过 NetBeans IDE 8.0 使用 Java EE 7、Maven 和 PrimeFaces 创建完整的 CRUD 应用程序。

 

|image:::images/me8.png[role="left", link="java/jdk8-migration-screencast.html"] 

播放时长：6:38
link:http://bits.netbeans.org/media/nb_me_8.mp4[+*下载*+] [12 MB]

 |link:javame/nb_me8_screencast.html[+ NetBeans IDE 对 Java ME 8 的支持+]

此截屏视频演示 Windows 操作系统上 NetBeans IDE 对 Oracle Java ME SDK 8 的支持。

 |  |
 |
 
|===


== NetBeans IDE 7.4 截屏视频

|===
|image:::images/jdk8-lambda.png[role="left", link="java/jdk8-nb74-screencast.html"] 

播放时长：3:44
link:http://bits.netbeans.org/media/jdk8-gettingstarted.mp4[+*下载*+] [30 MB]

 |link:java/jdk8-nb74-screencast.html[+ *NetBeans IDE 中的 JDK 8*+]

此截屏视频演示了如何设置 NetBeans IDE 7.4 以使用 JDK 8，以及如何使用 JDK 8 配置文件支持和 lambda 表达式。

 |  |image:::images/html5-javaee.png[role="left", link="javaee/javaee-gettingstarted-js-screencast.html"] 

播放时长：5:10
link:http://bits.netbeans.org/media/html5-gettingstarted-javaee-screencast.mp4[+*下载*+] [41 MB]

 |link:javaee/javaee-gettingstarted-js-screencast.html[+ Java EE 中的 JavaScript 客户端开发+]

此截屏视频演示了您可以通过向导公开 REST 风格的 Web 服务端点，让您可以在 NetBeans IDE 7.4 的 Java EE 应用程序中创建 JavaScript Backbone.js 客户端。

 

|image:::images/html5-cordova.png[role="left", link="web/html5-cordova-screencast.html"] 

播放时长：5:08
link:http://bits.netbeans.org/media/html5-gettingstarted-cordova-final-screencast.mp4[+*下载*+] [36 MB]

 |link:web/html5-cordova-screencast.html[+ *NetBeans IDE 中的 Cordova 入门指南*+]

此截屏视频演示了如何创建 HTML5 应用程序，即，如何创建使用 HTML、JavaScript 和 CSS 的应用程序并通过 Cordova 将其部署为本机 Android 或 iOS 应用程序。

 |  |image:::images/javaee-primefaces.png[role="left", link="javaee/javaee-gettingstarted-pf-screencast.html"] 

播放时长：5:05
link:http://bits.netbeans.org/media/javaee-html5-primefaces.mp4[+*下载*+] [63 MB]

 |link:javaee/javaee-gettingstarted-pf-screencast.html[+ 使用 PrimeFaces 进行 Java EE 开发+]

此截屏视频演示了如何在 NetBeans IDE 7.4 中使用 Maven 和 Java EE 轻松创建 PrimeFaces 应用程序。

 

|image:::images/javagui-javafx.png[role="left", link="java/nb_fx_screencast.html"] 

播放时长：7:04
link:http://bits.netbeans.org/media/netbeans_fx.mp4[+*下载*+] [19 MB]

 |link:java/nb_fx_screencast.html[+ *NetBeans IDE 中的 JavaFX 支持*+]

此截屏视频演示了在 NetBeans IDE 7.4 中实现的 JavaFX 相关的功能，包括 JavaFX 运行时类路径、JavaFX 和 Java SE 项目的对齐方式以及 JavaFX Maven 项目模板。

 |  |image:::images/javame-thumb.png[role="left", link="javame/nb_mesdk_screencast.html"] 

播放时长：4:22
link:http://bits.netbeans.org/media/nb_mesdk.mp4[+*下载*+] [6 MB]

 |link:javame/nb_mesdk_screencast.html[+ 在 Windows 上设置 NetBeans IDE 以进行 Mobile 开发+]

此截屏视频演示了 NetBeans IDE 中的 Java ME SDK 支持。此截屏视频演示了如何激活 JavaME 插件并在 NetBeans IDE 中注册 Java ME SDK。

 

|image:::images/git-thumb.png[role="left", link="ide/github_nb_screencast.html"] 

播放时长：5:52
link:http://bits.netbeans.org/media/github_nb.mp4[+*下载*+] [11 MB]

 |link:ide/github_nb_screencast.html[+ 使用 NetBeans IDE 设置 GitHub 资料库+]

此截屏视频演示了如何在 NetBeans IDE 中设置 Git 资源库，并使用 IDE 对 Git 版本控制系统的支持将其放入 GitHub 中。

 |  |image:::images/clone_thumb.png[role="left", link="ide/git_nb_ssh_screencast.html"] 

播放时长：3:25
link:http://bits.netbeans.org/media/git_nb_ssh.mp4[+*下载*+] [6 MB]

 |link:ide/git_nb_ssh_screencast.html[+ 使用 NetBeans IDE 克隆 Git 资源库+]

此截屏视频演示如何通过 SSH 协议从远程服务器克隆现有 Git 资源库来获取 Git 项目。

 
|===



== 更多 NetBeans IDE 截屏视频

有关 NetBeans IDE 的其他视频教程，请浏览 link:../../community/media.html[+NetBeans 媒体库+]和 link:http://www.youtube.com/user/netbeansvideos[+NetBeans YouTube 频道+]。

