aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/add-ons/sdk/guides/index.html
blob: 0a6a4422d66d85381e743c7f777c88abf4257ad2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
---
title: ガイド
slug: Mozilla/Add-ons/SDK/Guides
translation_of: Archive/Add-ons/Add-on_SDK/Guides
---
<p>This page lists more theoretical in-depth articles about the SDK.</p>
<hr>
<h3 id="Contributor's_guide"><a name="contributors-guide">Contributor's guide</a></h3>
<div class="column-container">
 <div class="column-half">
  <dl>
   <dt>
    <a href="Guides/Getting_Started">Getting Started</a></dt>
   <dd>
    Learn how to contribute to the SDK: getting the code, opening/taking a bug, filing a patch, getting reviews, and getting help.</dd>
   <dt>
    <a href="Guides/Modules">Modules</a></dt>
   <dd>
    Learn about the module system used by the SDK (which is based on the CommonJS specification), how sandboxes and compartments can be used to improve security, and about the built-in SDK module loader, known as Cuddlefish.</dd>
   <dt>
    <a href="Guides/Classes_and_Inheritance">Classes and Inheritance</a></dt>
   <dd>
    Learn how classes and inheritance can be implemented in JavaScript, using constructors and prototypes, and about the helper functions provided by the SDK to simplify this.</dd>
  </dl>
 </div>
 <div class="column-half">
  <dl>
   <dt>
    <a href="Guides/Private_Properties">Private Properties</a></dt>
   <dd>
    Learn how private properties can be implemented in JavaScript using prefixes, closures, and WeakMaps, and how the SDK supports private properties by using namespaces (which are a generalization of WeakMaps).</dd>
   <dt>
    <a href="Guides/Content_Processes">Content Processes</a></dt>
   <dd>
    The SDK was designed to work in an environment where the code to manipulate web content runs in a different process from the main add-on code. This article highlights the main features of that design.</dd>
  </dl>
 </div>
</div>
<hr>
<h3 id="SDK_infrastructure"><a name="sdk-infrastructure">SDK infrastructure</a></h3>
<div class="column-container">
 <div class="column-half">
  <dl>
   <dt>
    <a href="Guides/Module_structure_of_the_SDK">Module structure of the SDK</a></dt>
   <dd>
    The SDK, and add-ons built using it, are of composed from reusable JavaScript modules. This explains what these modules are, how to load modules, and how the SDK's module tree is structured.</dd>
   <dt>
    <a href="Guides/SDK_API_Lifecycle">SDK API lifecycle</a></dt>
   <dd>
    Definition of the lifecycle for the SDK's APIs, including the stability ratings for APIs.</dd>
  </dl>
 </div>
 <div class="column-half">
  <dl>
   <dt>
    <a href="Guides/Program_ID">Program ID</a></dt>
   <dd>
    The Program ID is a unique identifier for your add-on. This guide explains how it's created, what it's used for and how to define your own.</dd>
   <dt>
    <a href="Guides/Firefox_Compatibility">Firefox compatibility</a></dt>
   <dd>
    Working out which Firefox releases a given SDK release is compatible with, and dealing with compatibility problems.</dd>
  </dl>
 </div>
</div>
<hr>
<h3 id="SDK_idioms"><a name="sdk-idioms">SDK idioms</a></h3>
<div class="column-container">
 <div class="column-half">
  <dl>
   <dt>
    <a href="Guides/Working_with_Events">Working With Events</a></dt>
   <dd>
    Write event-driven code using the the SDK's event emitting framework.</dd>
   <dt>
    <a href="Guides/Content_Scripts">Content scripts guide</a></dt>
   <dd>
    An overview of content scripts, including: what they are, what they can do, how to load them, how to communicate with them.</dd>
  </dl>
 </div>
 <div class="column-half">
  <dl>
   <dt>
    <a href="Guides/Two_Types_of_Scripts">Two Types of Scripts</a></dt>
   <dd>
    This article explains the differences between the APIs available to your main add-on code and those available to content scripts.</dd>
  </dl>
 </div>
</div>
<hr>
<h3 id="XUL_migration"><a name="xul-migration">XUL migration</a></h3>
<div class="column-container">
 <div class="column-half">
  <dl>
   <dt>
    <a href="Guides/XUL_Migration_Guide">XUL Migration Guide</a></dt>
   <dd>
    Techniques to help port a XUL add-on to the SDK.</dd>
   <dt>
    <a href="Guides/XUL_vs_SDK">XUL versus the SDK</a></dt>
   <dd>
    A comparison of the strengths and weaknesses of the SDK, compared to traditional XUL-based add-ons.</dd>
  </dl>
 </div>
 <div class="column-half">
  <dl>
   <dt>
    <a href="Guides/Porting_the_Library_Detector">Porting Example</a></dt>
   <dd>
    A walkthrough of porting a relatively simple XUL-based add-on to the SDK.</dd>
  </dl>
 </div>
</div>
<p> </p>