标签 翻译 下的文章

要开始构建你的第一个 React App,最简单的方法莫过于使用下面这两个 JSFiddle 示例了:

Create React App

Create React App 是一个新的受官方支持的用于创建 React 单页面应用的工具,它提供了一个一些无需任何配置那可拿来即用的现代化构建工具,需要 Node 4 或者更高版本的支持。

但是需要注意的是,它还是有一些使用上的限制,而且它也仅仅只适用于单页面应用,如果你更高的灵活性或者将 React 整合到现有的项目中,那你可能就需要下面这些其它的解决方案了。

Starter Pack

如果你才刚刚开始了解 React,那么下载 Starter kit 是另一个不错的选择, Starter kit 包含了预建的 React 以及 React Dom 示例复本。

下载 Starter kit 15.3.1

在 Starter kit 的根目录下,创建一个名为 helloworld.html 的文件,包含以下的内容:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Hello React!</title>
    <script src="build/react.js"></script>
    <script src="build/react-dom.js"></script>
    <script src="https://unpkg.com/babel-core@5.8.38/browser.min.js"></script>
  </head>
  <body>
    <div id="example"></div>
    <script type="text/babel">
      ReactDOM.render(
        <h1>Hello, world!</h1>,
        document.getElementById('example')
      );
    </script>
  </body>
</html>

如上所示,这种在JavaScript 中包含 XML 语法的实现我们称之为 JSX,你可以查看 JSX 语法说明 以了解更多关于 JSX 的使用帮助,为了将其编译为浏览器可识别的 JavaScript 代码,我们使用了 <script type="text/babel">,此时 Babel 将直接在浏览器编译它,直接在浏览器中打开该页面,你就将看到应用已经执行了。

分开的文件

你的 React JSX 代码,还可以被分开存储在不同的文件中,创建一个 src/helloworld.js 文件:

ReactDOM.render(
  <h1>Hello, world!</h1>,
  document.getElementById('example')
);

然后在 helloworld.html 代码中引入该文件:

<script type="text/babel" src="src/helloworld.js"></script>
这里需要注意一点,有一些浏览器(比如 Chrome),可能只允许通过 HTTP 协议访问文件。

npm 或者 Bower 中使用 React

你同样还可以使用如 npm 或者 bower 这样的包管理工具, 这在后面的文章中会详细涉及到。

Xcode 是苹果官方推出的用于开发运行于苹果产品(如 iPadiPhoneMac 等)中的应用的集成开发环境,Xcode 提供了管理整个开发工作流的所有工具——从创建应用到测试、优化以及推荐应用至 App Store

Xcode 一览

Mac 打开 App Store 应用,搜索 Xcode ,然后下载最新版本,它是一个免费的应用,当下载完成之后,系统会自动安装它,然后就可以在 Launchpad 中找到它的启动图标了,如下图所示:

XcodeIcon_2x.png

单窗口操作界面

Xcode 在一个工作窗口中整合了代码编辑、用户界面设计、资源文件管理、测试以及调度等所有功能,同时窗口中的所有组件都可以根据你的自身喜好进行自定义,比如文件选择器在一个区域中,然后将文件的文件编辑器放在另一个区域中,当你选择一个用户对象时,它的文档同时出现在其旁边等。

您还可以让整个界面只显示出你需要显示的,将其它无关你项目的功能隐藏,比如你可以让整个窗口只显示你的源代码树以及你的用户界面布局,或者你还可以让一个窗口的功能分成多个窗口显示,或者在一个窗口中通过 Tabs 方式进行功能的划分。

XC_O_WrkspaceWindow_nocallout_2x.png

带辅助功能的代码编辑

不管你使用的是 Objective-CSwiftCC++ 还是多种语言都有使用,Xcode 都会自动的对你的代码进行检测,并猜测出你所当前编辑的语言,当发现你的代码存在一个错误时,代码编辑器会自动的高亮该错误,若可能,它还会给出修改意见,Xcode 还提供了快速且高效的代码提示出自动完成功能,同时还提供了很多拿来即用的代码片段或者源代码文件模板,对于 Swift 语言,您还可以在不构建或运行应用的前提下直接在 Playground 里面运行并在可视化的环境下实时预览结果。

你可以很方便的让代码编辑器同时显示一个文件的多种视图或者在一个视图中一次性查看多个文件,Search-and-replace (翻译与替换)让你可以快速且安全的在整个项目中搜索并替换代码。

CodeFolding_2x.png

可视化的 UI 设计

Interface Builder 是一个 Xcode 整合的视觉设计编辑器,使用 Interface Builder ,你可以创建与设计 iOS 或者 Mac 应用的窗口、视图、控制器、菜单以及其它任何在库中预配置的元素对象以及您创建的元素。而另一个强大的功能就是,通过 Storyboards,可以让你在可视化的界面下直观的设计应用的流程以及不同界面间切换的动画,以可视化的方式连接你在代码所实现的对象与动画。

StoryboardIB_2x.png

通过自动布局功能(Auto Layout),当你设定好界面元素的限制后,软件会自动地根据屏幕尺寸、窗口尺寸或者语言自动对其进行布局,配合 Size Classes,让你的应用可以智能的自动适应屏幕尺寸以及屏幕方向——根据设定,自动进行布局、添加或删除视图甚至更改字体等。

SC_H_preview_2x.png

Xcode 中的资源文件目录可以让你管理各种你将在应用中使用的图片,比如图标、设计图、启动图片等,同时,粒子动作编辑器(Particle emitter editor)可以让你快速的编辑 iOS 或者 Mac 游戏中的特效,比如雪花飞舞、烟雾效果等,对于 Mac应用SceneKit 编辑还可以帮助你在 3D 场景下创建场景并导出为数字资产交换格式文件(Digital Asset Exchange, DAE)。

LeafParticles_2x.png

集成的调试工具

当 Xcode 以调试模式(Debug Mode)启动应用时,它会自动的立马启动一个调试会话(Debugging Session),若您启动的是一个 iOS 应用,它会在 iOS 模拟器(Simulator)中或者一个你选择的连接至 Mac 的 iPhone 中启动应用,若您启动的是 Mac 应用,则其会直接在当前的 Mac 中启动它。

AdventureLaunchediPhone_2x.png

您可以直接在代码编辑器的进行调试,要查看任何一个变量的值,只需要将鼠标移动到那个变量的名称上面即可,调试器可以让你在检查代码时,细致的控制其执行,同时,为了更加细致的控制,命令面板还提供了通过命令行访问调试器的功能。

XC_O_debug_overview_2x.png

调试压力表显示你的应用程序的资源消耗以帮助在应用正式上线之前找到更多影响性能的问题。

CPUReport_2x.png

Testing and Continuous Integrations

测试和持续集成

为了帮助您建立一个更好的应用程序,Xcode中提供了一个功能及性能测试框架。你可以通过测试用例导航运行你的测试用例及查看测试结果,而性能测试可以让你更加清楚自己应用的运行性能,这可以在你应用上线后,尽可能降低用户的运行效率与等待时间。

运行在测试导航测试,看看结果,并进行必要的测试通过的任何变化。您可以使用Xcode的服务,在OS X Server中可用,自动化测试的执行。在Xcode上开发的Mac,你创建一个单独的服务器上运行,以定期或在每次源代码提交执行单元测试机器人。

Run your tests in the test navigator, look at the results, and make any changes needed to pass the tests. You can use the Xcode service, available in OS X Server, to automate the execution of tests. From Xcode on your development Mac, you create bots that run on a separate server to execute your unit tests either periodically or on every source code commit.

bot_viewer-tests_2x.png

In addition to running unit tests, bots automatically perform static analysis on your code, build your app, and archive it for distribution to testers or the App Store. While performing these continuous integrations of your app, bots report build errors and warnings, static analyzer problems, and unit test failures.

自动保存、项目快照以及代码控制

当你工作时,Xcode 会自动为您定期的保存文件与代码的理性,这个功能不需要任何设置,因为 Xcode 会连续的跟踪你对文件的改动,同时,你又可以使用返回与重置(Undo & Revert)功能返回至上一个状态或者恢复下一个状态。

除了文件外,你还可以直接通过恢复快照命令(Restore Snapshot command)将整个项目恢复至某一个你知道版本的历史快照,在使用时候,点击菜单栏中的 文件(File) » 创建快照(Create Snapshot) 即可为你的项目创建一个快照,同时,你还可以配置让 Xcode 根据你的规则自动的创建快照。

OrganizerSnapshots_2x.png

若要对文件的修改进行更好的跟踪,您还可以使用 Xcode 代码管理功能, Xcode 支持两个有名的代码管理系统—— GitSubversion,您可以同时访问远程的 Git 或者 Subversion 代码仓库,也可以在本地创建 Git 代码仓库,通过 OS X Server 使用 Xcode 服务,你还可以创建你自己的 Git 服务。

ChooseRemoteGit_2x.png

集成的文档功能

在你编写代码时, Xcode 会根据你当前所编写的代码自动智能的从文档库中查询想关的SDK或者API文档,以方便你快速的调出查阅。

BookmarkArea_2x.png

分发应用至测试用户或者 App Store

Most of your development time is spent on coding tasks, but to develop for the App Store, you need to perform a number of administrative tasks throughout the lifetime of your app. In addition to Xcode, you’ll use the Member Center web tool to manage developer program accounts and entitlements, and you’ll use the iTunes Connect web tool to check the status of your contracts, set up tax and banking information, obtain sales and finance reports, and manage metadata about the app.

Xcode project configurations help prepare your app for distribution to beta testers and for submission to the App Store. Submitting your app is a multistep process that begins when you sign into iTunes Connect and supply necessary product information. In Xcode, you create an archive of your project and submit it to the store. When your app is approved, you use iTunes Connect to release it by setting the date. (If you are distributing your Mac app outside the store, you follow a slightly different process.)