179 lines
6.6 KiB
Markdown
179 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.
|