Dalam perjalanan ke aplikasi tahan lama dengan generator situs statis PSKOV sebagai contoh

Veche Pskov


Hai, nama saya Michael Kapelko. Saya telah mengembangkan perangkat lunak secara profesional selama lebih dari 10 tahun. Saya mengembangkan game dan alat pengembangan game di waktu luang saya.


Artikel ini menjelaskan aplikasi tahan lama pertama saya untuk PC desktop: generator situs statis PSKOV.


Daya tahan


Aplikasi yang tahan lama adalah aplikasi yang berfungsi tanpa perubahan tunggal pada sistem operasi yang dirilis pada tahun 2010-2030. Dengan kata lain, aplikasi tahan lama memiliki kompatibilitas mundur 10 tahun dan memiliki stabilitas untuk berjalan selama 10 tahun. Sebenarnya, PSKOV berjalan bahkan di bawah Windows 2000, jadi PSKOV memiliki kompatibilitas mundur 19 tahun.


Dari sisi teknis, PSKOV adalah file HTML tunggal dengan tata letak (HTML), gaya (CSS), dan kode (JavaScript) yang dikemas di dalamnya. PSKOV berjalan secara ketat di dalam browser web tanpa terhubung ke server apa pun.


Implementasi seperti itu memberi PSKOV fitur-fitur berikut:


  • dapat disalin tanpa batasan
  • itu dapat di-host di mana saja
  • itu dapat berjalan secara lokal
  • dapat beroperasi tanpa internet

Saya tidak bisa menjamin stabilitas selama 10 tahun karena saya tidak bisa mengendalikan masa depan. Namun, sejarah HTML, CSS, dan evolusi JavaScript memberi tahu kita bahwa teknologi ini dikembangkan dengan kompatibilitas mundur maksimum. Pertama, fitur JavaScript baru membuat yang lama tetap berfungsi. Kedua, pengembang peramban web tertarik untuk membuat peramban web mereka berfungsi dengan sebanyak mungkin situs web. Misalnya, tag <center> , yang dinyatakan tidak digunakan lagi pada tahun 2014, masih berfungsi seperti yang diharapkan 5 tahun sejak itu, pada tahun 2019.


Pada saat yang sama, setiap aplikasi browser web memiliki batasan serius yang disebut sandbox, nama yang menipu untuk sangkar. Kandang mencegah akses ke sistem file lokal pengguna dan hampir semua sumber daya Internet tanpa izin eksplisit pemiliknya (CORS). Akibatnya, aplikasi hanya dapat berkomunikasi dengan pengguna baik melalui server yang berbeda, atau dengan menawarkan file untuk diunduh secara manual. Mengunduh file satu per satu atau sebagai arsip tidak nyaman, itulah sebabnya saat ini pendekatan yang berorientasi server memerintah dunia. Saya akan menyentuh masalah pendekatan itu sebentar lagi.


Untuk membebaskan PSKOV dari sangkar, LFSA telah dibuat, sebuah skrip Python kecil yang perlu dijalankan secara manual saat PSKOV berjalan. LFSA memungkinkan PSKOV untuk mengakses sistem file lokal pengguna. Python dipilih karena Linux dan macOS telah menginstal Python secara default, dan pengguna dapat dengan mudah menginstal Python di Windows (bahkan Windows 2000).


Rekam jejak


PSKOV telah berhasil digunakan untuk membuat situs kecil berikut:



Sekarang mari kita lihat mengapa PSKOV dibuat sebagai aplikasi yang tahan lama untuk browser web.


Alasan # 1: mengumpulkan dan menyimpan pengetahuan dalam bentuk yang dapat diakses


Saya telah menciptakan alat pengembangan game yang nyaman selama beberapa tahun sekarang. Sejauh pengetahuan yang dikumpulkan diwakili oleh aplikasi asli untuk PC desktop, artikel pendidikan untuk teknologi terkait, dan menampilkan video . Bentuk-bentuk pengetahuan yang dikumpulkan pada dasarnya mati:


  • beberapa orang akan mengunduh aplikasi yang tidak dikenal
  • beberapa orang akan menonton beberapa video
  • bahkan lebih sedikit lagi yang akan membaca beberapa artikel

Dalam banyak hal, kematian ini adalah karena tidak dapat diaksesnya: kita harus melakukan upaya yang tidak diketahui untuk mencapai hasil yang tidak diketahui. Hampir tidak ada orang yang tertarik dengan ini. Aplikasi browser web, yang berpotensi dapat diakses di mana saja, adalah kesepakatan yang sama sekali berbeda: Anda hanya perlu melakukan upaya yang diketahui, klik tautan, untuk mencapai hasil yang tidak diketahui. Sejarah melakukan revolusi twitter membuktikan bahwa hampir semua orang dapat membuka tautan dan "menyukai" perubahan "rezim berdarah".


Alasan # 2: dikuasai oleh orang-orang


Saat ini setiap kegiatan Internet dilakukan dengan menggunakan layanan yang hampir selalu milik beberapa perusahaan: pesan , peta , pencarian , musik , kode sumber , dll. Perebutan kekuasaan seperti itu menyebabkan penutupan layanan yang perusahaan mereka anggap tidak menguntungkan. Mereka biasanya melakukannya tanpa persetujuan dengan pengguna yang membawa kehidupan ke layanan ini di tempat pertama.


Lain waktu perusahaan hanya memblokir browser yang bersaing untuk mengakses layanan mereka, seperti yang baru-baru ini terjadi dengan versi web Skype . Untungnya ada orang yang tidak setuju dengan politik semacam itu. Berkat mereka, alat pembuka kunci muncul.


Bagi saya, saya menganggap cara menangani hal-hal seperti itu tidak pantas. Namun, bisnis biadab bukan satu-satunya yang bisa disalahkan di sini; pengguna biasa, kita masing-masing juga bersalah. Anda mungkin berpendapat bahwa pengguna tidak punya pilihan, bahwa orang lain (pemerintah, orang asing, garis bawahi apa yang Anda suka) membuat dunia ini tidak adil. Beberapa orang bahkan menyalahkan pemerintah / alien secara langsung dan percaya bahwa tanpa mereka, hidup akan luar biasa. Namun, sejarah manusia menceritakan kepada kita kisah yang berbeda : " negara bukanlah gerombolan musuh yang menduduki masyarakat, tetapi yang tumbuh dari masyarakat dan mencerminkannya ."


Menjadi bagian dari orang-orang, saya memutuskan untuk memulai dengan diri saya sendiri dan menggunakan kekuatan saya untuk yang terbaik: membuat aplikasi yang saya butuhkan sedemikian rupa untuk membuat mereka dapat digunakan dan diakses oleh semua orang di mana pun. PSKOV adalah upaya pertama, yang sudah melebihi harapan saya. Tentu, PSKOV memiliki batasan seperti LFSA dan HTTP tidak terenkripsi; ada banyak yang harus dilakukan untuk meningkatkan aksesibilitas PSKOV, namun, saya siap untuk menantang siapa pun: versi PSKOV saat ini akan tetap berfungsi selama 10 tahun yang akan datang tanpa pemeliharaan.


Itu untuk menggambarkan aplikasi tahan lama pertama saya untuk PC desktop: generator situs statis PSKOV.

Source: https://habr.com/ru/post/id462693/


All Articles