178 lines
6.6 KiB
Markdown
178 lines
6.6 KiB
Markdown
# Application Distribution
|
||
|
||
Electron uygulamanızı dağıtmak için önce Electron nun [prebuilt mimarilerini]
|
||
(https://github.com/electron/electron/releases) indirmeniz gerekmektedir.
|
||
Sonrasında, uygulamanızın bulundugu klasör `app` şeklinde isimlendirilmeli ve
|
||
Electron kaynaklar klasörüne aşagıda gösterildiği gibi yerleştirilmelidir.
|
||
Unutmayın, Electronun prebuilt mimarileri aşağıdaki örneklerde `electron/`
|
||
şeklinde belirtilmiştir.
|
||
|
||
|
||
MacOS da:
|
||
|
||
```text
|
||
electron/Electron.app/Contents/Resources/app/
|
||
├── package.json
|
||
├── main.js
|
||
└── index.html
|
||
```
|
||
|
||
Windows ve Linux da:
|
||
|
||
```text
|
||
electron/resources/app
|
||
├── package.json
|
||
├── main.js
|
||
└── index.html
|
||
```
|
||
|
||
Ardından `Electron.app` (veya `electron` Linux'da, `electron.exe` Windows'da) şeklinde çalıstırın,
|
||
ve Electron uygulama şeklinde çalışacaktır.
|
||
`electron` klasörü son kullanıcıya aktaracağınız dağıtımınız olacaktır.
|
||
|
||
## Uygulamanın bir dosya şeklinde paketlenmesi
|
||
|
||
Tüm kaynak kodlarını kopyalama yoluyla uygulamanızı dağıtmak haricinde,
|
||
uygulamanızı [asar](https://github.com/electron/asar) ile arşiv haline getirerek,
|
||
kaynak kodlarınızın kullanıcılar tarafından görülmesini engelliye bilirsiniz.
|
||
|
||
`app` klasörü yerine `asar` arşiv dosyası kullanmak için, arşiv dosyanızı `app.asar`
|
||
şeklinde isimlendirmeniz gerekiyor, ve bu dosyayı Electron'nun kaynak klasörüne aşağıdaki
|
||
gibi yerleştirmelisiniz. Böylelikle Electron arşivi okuyup ondan başlayacaktır.
|
||
|
||
|
||
MacOS'da:
|
||
|
||
```text
|
||
electron/Electron.app/Contents/Resources/
|
||
└── app.asar
|
||
```
|
||
|
||
Windows ve Linux'da:
|
||
|
||
```text
|
||
electron/resources/
|
||
└── app.asar
|
||
```
|
||
|
||
Daha fazla bilgi için [Application packaging](application-packaging.md).
|
||
|
||
## İndirilen mimarileri yeniden adlandırma
|
||
|
||
Uygulamanızı Electron ile paketledikten sonra ve kullanıcılara uygulamanızı dağıtmadan önce
|
||
adını değiştirmek isteye bilirsiniz.
|
||
|
||
### Windows
|
||
|
||
`electron.exe` istediğiniz şekilde yeniden adlandırabilirsiniz. Icon ve diğer
|
||
bilgileri bu gibi araçlar [rcedit](https://github.com/atom/rcedit) ile düzenleye bilirsiniz.
|
||
|
||
### macOS
|
||
|
||
`Electron.app`'i istediğiniz şekilde yeniden adlandırabilirsiniz, ve aşağıdaki dosyalarda
|
||
`CFBundleDisplayName`, `CFBundleIdentifier` ve `CFBundleName` kısımlarınıda düzenlemelisiniz.
|
||
|
||
* `Electron.app/Contents/Info.plist`
|
||
* `Electron.app/Contents/Frameworks/Electron Helper.app/Contents/Info.plist`
|
||
|
||
Görev yöneticisinde `Electron Helper` şeklinde göstermek yerine,
|
||
isterseniz helper uygulamasınında adını değiştire bilirsiniz,
|
||
ancak dosyanın adını açılabilir olduğundan emin olun.
|
||
|
||
Yeniden adlandırılmış uygulamanın klasör yapısı bu şekilde görünecektir:
|
||
|
||
```
|
||
MyApp.app/Contents
|
||
├── Info.plist
|
||
├── MacOS/
|
||
│ └── MyApp
|
||
└── Frameworks/
|
||
├── MyApp Helper EH.app
|
||
| ├── Info.plist
|
||
| └── MacOS/
|
||
| └── MyApp Helper EH
|
||
├── MyApp Helper NP.app
|
||
| ├── Info.plist
|
||
| └── MacOS/
|
||
| └── MyApp Helper NP
|
||
└── MyApp Helper.app
|
||
├── Info.plist
|
||
└── MacOS/
|
||
└── MyApp Helper
|
||
```
|
||
|
||
### Linux
|
||
|
||
`electron` dosyasını istediğiniz şekilde yeniden adlandırabilirsiniz.
|
||
|
||
## Paketleme Araçları
|
||
|
||
Uygulamanızı manuel şekilde paketlemek dışında, üçüncü parti
|
||
paketleme araçlarıylada otomatik olarak ayni şekilde paketliye bilirsiniz:
|
||
|
||
* [electron-builder](https://github.com/electron-userland/electron-builder)
|
||
* [electron-packager](https://github.com/electron-userland/electron-packager)
|
||
|
||
## Kaynaktan yeniden kurulum yoluyla isim değişikliği
|
||
|
||
Ürün adını değiştirip, kaynaktan kurulum yoluylada Electron'nun adını değiştirmek mümkün.
|
||
Bunun için `atom.gyp` dosyasını yeniden modifiye edip, tekrardan temiz bir kurulum yapmalısınız.
|
||
|
||
### grunt-build-atom-shell
|
||
|
||
Manuel olarak Electron kodlarını kontrol edip tekrar kurulum yapmak biraz zor olabilir,
|
||
bu yüzden tüm bu işlemleri otomatik olarak gerçekleştirecek bir Grunt görevi oluşturuldu:
|
||
[grunt-build-atom-shell](https://github.com/paulcbetts/grunt-build-atom-shell).
|
||
|
||
Bu görev otomatik olarak `.gyp` dosyasını düzenleyecek, kaynaktan kurulumu gerçekleştirecek,
|
||
sonrasında ise uygulamanızın doğal Node modüllerini, yeni yürütülebilen isim ile eşleştirmek icin
|
||
tekrardan kuracaktır.
|
||
|
||
### Özel bir Electron kopyası oluşturma
|
||
|
||
Electron'un size ait bir kopyasını oluşturmak, neredeyse uygulamanızı kurmak için hiç ihtiyacınız
|
||
olmayacak bir işlemdir, "Production Level" uygulamalarda buna dahildir.
|
||
`electron-packager` veya `electron-builder` gibi araçlar kullanarak yukarıda ki işlemleri
|
||
gerçekleştirmeksizin, "Rebrand" Electron işlemini uygulaya bilirsiniz.
|
||
|
||
Eğer kendinize ait yüklenemiyen veya resmi versiyondan red edilmiş,
|
||
direk olarak Electron a paketlediğiniz C++ kodunuz var ise,
|
||
öncelikle Electron'un bir kopyasını oluşturmalısınız.
|
||
Electron'nun destekleyicileri olarak, senaryonuzun çalışmasını çok isteriz,
|
||
bu yüzden lütfen yapacağınız değişiklikleri Electron'nun resmi versiyonuna
|
||
entegre etmeye calışın, bu sizin için daha kolay olacaktır, ve yardimlarınız
|
||
için cok minnettar olacağız.
|
||
|
||
#### surf-build İle Özel Dağıtım oluşturulması
|
||
|
||
1. Npm yoluyla [Surf](https://github.com/surf-build/surf) yükleyin:
|
||
`npm install -g surf-build@latest`
|
||
|
||
|
||
2. Yeni bir S3 bucket ve aşağıdakı boş klasör yapısını oluşturun:
|
||
|
||
```
|
||
- atom-shell/
|
||
- symbols/
|
||
- dist/
|
||
```
|
||
|
||
3. Aşağıdaki Ortam Değişkenlerini ayarlayın:
|
||
|
||
* `ELECTRON_GITHUB_TOKEN` - GitHub üzerinden dağıtım oluşturan token
|
||
* `ELECTRON_S3_ACCESS_KEY`, `ELECTRON_S3_BUCKET`, `ELECTRON_S3_SECRET_KEY` -
|
||
node.js bağlantılarını ve sembollerini yükleyeceğiniz yer
|
||
* `ELECTRON_RELEASE` - `true` şeklinde ayarlayın ve yükleme işlemi çalışacaktır,
|
||
yapmamanız halinde, `surf-build` sadece CI-type kontrolü yapacak,
|
||
tüm pull isteklerine uygun hale getirecektir.
|
||
* `CI` - `true` olarak ayarlayın yoksa çalışmayacaktır.
|
||
* `GITHUB_TOKEN` - bununla aynı şekilde ayarlayın `ELECTRON_GITHUB_TOKEN`
|
||
* `SURF_TEMP` - Windowsda ki 'path too long' sorunundan kaçınmak için `C:\Temp` şeklinde ayarlayın
|
||
* `TARGET_ARCH` - `ia32` veya `x64` şeklinde ayarlayın
|
||
|
||
4. `script/upload.py` dosyasında ki `ELECTRON_REPO` kısmını, kendi kopyanız ile değiştirmek _zorundasınız_,
|
||
özellikle eğer bir Electron proper destekleyicisi iseniz.
|
||
|
||
5. `surf-build -r https://github.com/MYORG/electron -s YOUR_COMMIT -n 'surf-PLATFORM-ARCH'`
|
||
|
||
6. Kurulum bitene kadar uzunca bekleyin.
|