Kaynak Paketini İndirme ve Kurulum
Kaynak Kod sayfasından medos_source.tar.gz arşivini indirin ve çıkarın:
Arşiv iki dosya içerir: requirements.txt (gerekli sistem paketlerinin listesi) ve bootstrap.sh (etkileşimli kurulum scripti). Kurulumu başlatmak için:
Script sırasıyla şunları sorar: sisteminizin adı, kod adı (VERSION_CODENAME), ID_LIKE değeri (boş bırakılırsa debian kullanılır) ve bir web siteniz olup olmadığı — varsa ana sayfa, destek ve hata bildirimi URL'lerini, yoksa Medcell Studios'un varsayılan adreslerini kullanır.
Onayladıktan sonra script requirements.txt'teki paketleri (debootstrap, qemu-user-static vb.) kurar, debootstrap ile bir Debian Forky ARM64 rootfs'i belirttiğiniz dizine kurar ve /etc/os-release dosyasını girdiğiniz bilgilerle otomatik doldurur.
MedStore Uygulama Geliştirme
MedStore uygulamaları, MedOS'un dart_eval çalışma zamanında çalışan bağımsız .dapp paketleridir. Bu Flutter DEĞİL, saf Dart çalıştıran bir yorumlayıcıdır — Container, Text, Column gibi Flutter widget'ları burada geçersizdir. Arayüz, aşağıda anlatılan JSON metin formatıyla elle inşa edilir.
Zorunlu İki Fonksiyon
Durum (State) Nasıl Saklanır
Üst düzey (top-level) değişkenlere güvenmeyin — çağrılar arasında sıfırlanır, kalıcı olmaz. Tüm durumu tek bir string olarak encode edip stateStr parametresiyle taşıyın (örn. "5|elma|12" gibi kendi ayraçlarınızla birleştirip parse edin).
String Parse/Split Kuralları
JSON Üretimi
dart:convert / jsonEncode kullanmayın — JSON'u kendi elinizle, string birleştirerek (+) oluşturun. Liste elemanları arasına virgül koyarken son elemandan sonra fazla virgül bırakmayın (boş liste durumunu ayrıca kontrol edin).
Desteklenen Arayüz Bileşenleri
Buton/Textfield Etkileşimi
button'daki actionId, tıklanınca onAction'a actionId olarak gelir. button'a "args":{"id":5} gibi ekstra veri koyarsanız, argsJson içinde '{"id":5}' olarak gelir — bunu JSON parse etmeyin, elle string arama (indexOf/substring) ile okuyun. textfield'in onChangeActionId'si yazı her değiştiğinde tetiklenir, argsJson '{"value":"yazilan_metin"}' formatında gelir.
Çoklu Dosya
Geliştirici Platformu'ndaki IDE'de "+" butonuyla birden fazla .dart dosyası oluşturabilirsiniz. "Derle"ye basınca IDE bunları arka planda otomatik tek dosyada birleştirir — import 'diger_dosya.dart'; satırlarını normal şekilde kullanabilirsiniz.
Genel Kısıtlar
manifest.json örneği
Nasıl Oluşturulur
Kod yazmak, derlemek ve .dapp paketini oluşturmak için elle dosya hazırlamanıza gerek yok — Geliştirici Platformu'ndaki tarayıcı tabanlı IDE, kodunuzu yazıp "Derle" dediğinizde tüm bu paketlemeyi sizin için otomatik yapar.
Gönderdiğiniz uygulamalar, MedStore'da herkese açık şekilde görünmeden önce bir onay sürecinden geçer — bu, kullanıcıları kötü niyetli veya bozuk paketlerden korur.
Kendi Dağıtımınızı Oluşturma (MOSP Fork)
MOSP'u temel alıp kendi işletim sisteminizi oluşturmanın tek yolu bootstrap.sh scriptini çalıştırmaktır — elle dosya düzenlemenize gerek yoktur. Script, kurulum sırasında sorduğunuz bilgilerle /etc/os-release dosyasının sonuna otomatik olarak şu satırı ekler:
Bu, sisteminizin "MedOS" adını taşımadığını, MOSP'tan türetildiğini dürüstçe beyan eder ve kurulum script'i bunu onaylamanızı zorunlu kılar — onaylamazsanız işlem durur. Ayrıntılı kurallar için Lisans ve Marka Politikası sayfasına bakın.