Antarmuka - apa kata-kata sederhana seperti itu

Antarmuka - apa yang dibutuhkannya, jenis antarmuka

4 Januari 2021.

Halo, pembaca blog yang terhormat KTONANOVERKOGO.RU. Di era komputer massa, penting untuk mengikuti tren terbaru dan terus-menerus mengisi celah dalam pengetahuan.

Penting bahwa antarmuka sesuai dengan tujuan dan konteks. Jika ini adalah interaksi spesialis dengan komputer, maka hal utama adalah kemampuan untuk memberikan informasi dan memenuhi tugas. Untuk pengguna biasa, itu tidak hanya memiliki nilai teknis, tetapi juga estetika: bekerja dengan itu harus nyaman dan dapat dimengerti.

Anda tidak ingin menemukan kebutuhan untuk macet? Hari ini kami mempertimbangkan istilah lain yang terkait dengan PC.

Saya akan mencoba menjelaskan hal seperti itu sebagai antarmuka: apa dan mengapa perlu. Jadi, mari kita mulai.

Antarmuka adalah ...

Seperti semua frasa baru, kata "antarmuka" datang kepada kami dari bahasa Inggris. Antarmuka yang diterjemahkan menunjukkan " Tempat kontak "

Antarmuka adalah seperangkat alat yang memungkinkan pengguna untuk berinteraksi dengan sistem operasi komputer, perangkat seluler atau jenis peralatan lainnya.

Antarmuka adalah ...

Sebagai alat seperti itu Interaksi dapat bertindak:

  1. bidang teks;
  2. tombol dan kutu;
  3. daftar drop-down;
  4. tips pop-up;
  5. Sakelar;
  6. Elemen menu program atau situs;
  7. dan banyak lagi.

Agar lebih baik dari jenis buah apa ini adalah antarmuka ini, pertimbangkan contoh visual. Misalkan Anda memutuskan untuk pergi berlibur di tepi yang jauh dan memesan hotel di muka melalui internet.

Ayo situs, dan di sana Anda mengharapkan beberapa antarmuka: mencari, menampilkan hasil, memasukkan data pribadi, pembayaran. Selama setiap tahap interaksi dengan situs reservasi hotel, pengguna beroperasi dengan data dan melakukan tindakan tertentu.

Mengapa saya perlu antarmuka? Semuanya sederhana, lebih dari sebelumnya: semakin nyaman menggunakan program, situs dan produk lain, pengguna yang lebih bahagia.

Antarmuka yang ramah juga memungkinkan Anda untuk menaikkan penjualan di situs komersial, karena pengunjung tidak menutup tab selama detik pertama menggunakan situs.

Situs dengan desain yang baik lebih populer di kalangan pengguna, lebih banyak dikunjungi, dan, oleh karena itu, membawa penghasilan terbaik kepada pemiliknya.

Jenis antarmuka

Antarmuka adalah adat untuk membagi pada jenis-jenis berikut:

  1. Garis komando . Ini adalah cara tertua dan paling memakan waktu untuk berinteraksi antara pengguna dan komputer pribadi. Pada saat yang sama, baris perintah tetap menjadi jenis antarmuka yang paling dapat diandalkan.
    Untuk pengguna, antarmuka adalah dasar bekerja dengan PC atau telepon. Dari betapa sederhana atau kompleks sistem ini, kenyamanan mengendalikan perangkat akan tergantung pada. Pengembang dapat mengubah struktur sistem untuk tugas-tugas yang kompleks. Pengguna yang tidak berpengalaman, lebih baik membeli perangkat dengan antarmuka yang jelas untuk memfasilitasi pekerjaan mereka.

    Komunikasi dengan mesin terjadi dalam bahasanya. Baris perintah digunakan dalam sistem operasi yang ditujukan untuk pengguna profesional: misalnya, di BIOS.

  2. Antarmuka grafis. . Inilah yang dimaksudkan hari ini di bawah kata "antarmuka". Ini diterapkan di semua sistem operasi, program, halaman web.
    Smartphone

    Dengan antarmuka grafis, benar-benar semua pengguna PC dihadapkan. Untuk interaksi yang lebih nyaman, disarankan untuk menggunakan mouse komputer.

  3. Tanda tangani antarmuka . Perkembangan teknologi yang cepat telah menjadi salah satu alasan penampilan antarmuka gerakan. Ini termasuk layar sensorik, joystick, stylus dan elemen lainnya.
  4. Antarmuka suara . Berbicara ungkapan "OK, Google" dan selanjutnya ucapkan permintaan pencarian, Anda berinteraksi dengan antarmuka suara dari sistem operasi smartphone atau tablet.
    Antarmuka baris perintah.

    Jenis ini juga muncul baru-baru ini berkat perkembangan pesat teknologi.

    Tetapi hari ini menikmati popularitas yang cukup besar, karena memungkinkan Anda untuk menyelesaikan sejumlah tugas penting dan mengelola perangkat (apa itu?) - Perangkat seluler, mobil, peralatan rumah tangga, komputer - dengan perintah suara.

Apa yang seharusnya menjadi antarmuka

Tugas utama antarmuka apa pun - Mudah digunakan Program khusus, situs atau produk serupa.

Misalnya, ketika mengembangkan portal web disarankan untuk dilakukan fokus pada elemen-elemen berikut :

  1. Jumlah elemen yang ditampilkan secara optimal;
  2. kemampuan beradaptasi dengan perangkat desktop dan seluler;
  3. Kehadiran tombol jejaring sosial populer;
  4. ikon dan tombol ukuran optimal;
  5. bentuk pendaftaran yang nyaman;
  6. Lokasi intuitif item menu;
  7. Kehadiran aksen warna atau informasi;
  8. sistem pencarian di situs;
  9. Jika perlu, ketersediaan data kontak.

Contoh cerah dari antarmuka yang dipikirkan dengan baik adalah KTOMANOVENKOGO.RU. Di situs, solusi warna yang baik, menu intuitif, keberadaan pencarian internal, tampilan artikel pada tanggal publikasi, yang membuat penggunaan sumber daya dengan cepat dan menyenangkan.

Itu saja, teman-teman terkasih. Sekarang Anda tahu bahwa antarmukannya, hanya berbicara, shell eksternal program atau situs, yang membuatnya lebih mudah untuk menggunakannya.

Saya harap setelah membaca artikel, Anda tidak akan lagi memiliki pertanyaan. Bagaimanapun, memungkinkan Anda untuk mengundang Anda untuk berkomentar untuk mereda pada topik ini dengan pembaca blog lainnya KTOMANOVENKOGO.RU.

Dan untuk mengkonsolidasikan pengetahuan, saya sarankan menonton video tentang antarmuka baru untuk Android dari Samsung:

Semoga sukses untukmu! Melihat rapat cepat di halaman KtonanovenKogo.ru

Sebagian besar antarmuka modern dirancang untuk pengguna berpengalaman. Crane juga tidak segera menjadi akrab. Sebelumnya, sisi sakelar tentu diberi label merah dan biru - menjadi jelas di tempat itu dingin, dan di mana air panas. Sekarang kita terbiasa, dan semakin banyak crane dilepaskan tanpa label. Mungkin, mereka akhirnya ingat sisi mana yang mengalir.

Dengan antarmuka web itu hampir sama. Pada awal nol, ada skiorfisme - grafik meniru objek dunia nyata. Jika situsnya adalah tombol, itu tampak seperti tombol volumetrik nyata. Itu bisa dimengerti bagi kebanyakan orang yang membeli komputer pertama mereka.

Tetapi saat datang ketika pengguna baru menjadi kurang. Siapa pun yang ingin mulai menggunakan komputer dan internet telah dikuasai dalam teknologi. Dan kebutuhan akan antarmuka realistis secara bertahap menghilang.

Sekarang, alih-alih ikon "menu" terperinci, yang disebut burger biasanya digunakan dengan tanda tangan - tiga strip horizontal. Dan kami tahu betul apa artinya. Kami juga tahu bahwa situs biasanya membaca dari atas ke bawah. Dan tidak memerlukan panah apa pun untuk dijelaskan. Antarmuka modern dirancang untuk pengguna berpengalaman dan lebih ringkas.

Program.

Antarmuka dapat dianggap semacam kontrak antara sistem dan lingkungan eksternal. Sebagai bagian dari program komputer, sistem adalah fungsi atau modul, dan "lingkungan" adalah sisa proyek. Antarmuka secara formal menggambarkan data apa yang dapat ditransmisikan antara sistem dan lingkungan. Dan "implementasi" dapat digambarkan sebagai "sistem antarmuka minus." Dalam bahasa seperti antarmuka Haskell bisa sangat spesifik. Dan dalam bahasa seperti Python, mereka, sebaliknya, sangat biasa. Jenis antarmuka yang dipilih dapat mempengaruhi ukuran utang teknis yang dibuat dan kinerja programmer. Cara menghitungnya ditulis di bawah ini. Metode juga akan diusulkan untuk mengevaluasi dan membandingkan antarmuka yang berbeda. Berdasarkan perbandingan ini, Anda dapat menonton sendiri untuk menggunakan bahasa atau alat perangkat lunak.

Konsep paling penting dalam pengembangan perangkat lunak - konsep

Antarmuka

. Artikel ini bukan tentang antarmuka Java, tetapi tentang antarmuka dalam desain perangkat lunak. Dan pada tingkat yang lebih rendah - di antarmuka di dunia sekitarnya. Tentu saja, banyak konsep penting lainnya digunakan dalam pengembangan perangkat lunak, tetapi saya percaya bahwa kebanyakan dari mereka entah bagaimana tergantung pada pentingnya antarmuka.

Apa antarmuka?

Sebagian besar dari kita terbiasa dengan dua formulasi singkat:

Antarmuka adalah kontrak antara sistem dan lingkungan eksternal. Antarmuka adalah sistem pemasangan dengan lingkungan eksternal.

Antarmuka = ​​sistem ∩ lingkungan

Definisi dengan pemasangan cocok, jika sistem adalah objek fisik. Kedua definisi ini sangat abstrak, jadi mari kita pertimbangkan mereka pada contoh pencetakan pada keyboard:

Di sini sistem adalah laptop, lingkungan - tangan (serta cakar kucing, memanjat keyboard). Akibatnya, antarmuka harus ada bagian dari interaksi antara tangan dan laptop, yang tidak dapat dikaitkan hanya dengan beberapa pihak, tetapi hanya untuk keduanya. Biasanya kita berpikir tentang tangan dan keyboard terpisah, sehingga batas yang tepat dari antarmuka dalam hal ini adalah subjek dari perselisihan filosofis. Anda memutuskan: apakah itu keyboard sebagai atom keseluruhan atau individu berinteraksi satu sama lain ketika jari-jari dan kunci kontak.

Mungkin, Anda akan terkejut bagaimana contoh ini berkorelasi dengan definisi antarmuka sebagai kontrak. Dalam hal ini, perjanjian itu berarti perjanjian bahwa pada saat kami menghabiskan cukup banyak upaya ketika mereka ingat lokasi kunci dan memori otot dikerjakan ulang. Sejumlah nuansa dikaitkan dengan perjanjian. Misalnya, menekan dan menahan tombol memiliki nilai berbeda dibandingkan dengan pers sekali kali yang sederhana.

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

:

add_numbers. 

unsigned int, intsigned int); void of_function_function (void) {add_numbers (3.4);} unsigned int add_numbers (unsigned int a, unsigned int b) {return a + b; {add_numbers (9,99); Kembalikan 0;}

Terapkan teknik diferensiasi warna yang sama

Celana

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

Untuk menggambarkan lingkungan, sistem

dan antarmuka:

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

Sistem yang sedang dipertimbangkan di sini terdiri dari suatu fungsi

. Jika Anda mengatakan bahwa Anda dapat mempertimbangkan sebagai metode utama sistem utama -

Other_function.

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

- Maka Anda akan benar. Tetapi untuk kesederhanaan, kami mempertimbangkan suatu fungsi

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

.

Sistem terisolasi. Juga disarankan untuk mempertimbangkan bagian dari antarmuka konversi ke

Seperti yang Anda lihat, konsep keempat ditambahkan di sini: "Implementasi". Cukup sulit untuk membahas subjek antarmuka tanpa memperhitungkan implementasi khusus. Mari kita mendefinisikan istilah ini: Implementasi adalah sistem antarmuka minus. Implementasi = Sistem ∖ Antarmuka

Implementasi = Sistem ∖ (Sistem ∩ Lingkungan)

Saya harus mengakui bahwa saya tidak pernah memiliki definisi implementasi sebelumnya. Tetapi ini adalah perpanjangan yang tak terhindarkan dari serangkaian definisi antarmuka yang memiliki sejumlah keunggulan. Jika Anda seorang siswa miskin dan bersiaplah untuk ujian, maka mungkin guru Anda belum pernah mendengar definisi ini. Saya tidak akan terkejut jika itu akan bertentangan dengan taksonomi pemrograman berorientasi objek. Tetapi bahkan dalam kasus ini, saya tidak akan mengubahnya. Biarkan para penggemar OOP menulis ulang abstrak mereka sesuai dengan definisi saya.

Itu, pada gilirannya, menuntun kita ke kesimpulan logis berikutnya: Ketika kita berbicara tentang antarmuka sistem fisik, kita biasanya membayangkan "implementasi" dari sistem ini dalam bentuk objek fisik tunggal. Bagaimanapun, akan aneh untuk mempertimbangkan implementasi "nyata" tanpa memperhitungkan tombol akun, menampilkan atau komponen lainnya. Dan itu mendorong kita untuk mempertimbangkan antarmuka lebih sebagai "perjanjian", dan bukan kombinasi benda fisik. Yaitu, dalam bentuk serangkaian janji, jaminan atau sesuatu seperti ...

.

kontrak antara sistem dan lingkungan

Antarmuka sebagai kontrak

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

Jika Anda mempertimbangkan antarmuka fungsi

  • Dalam bentuk kontrak, maka jaminan akan seperti: Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka Fungsi
  • Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka ada. Ini hanya memiliki dua parameter, yang masing-masing tidak ditandatangani .
  • Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka int. Ini hanya memiliki dua parameter, yang masing-masing tidak ditandatangani .

Mengembalikan hanya satu yang tidak ditandatangani

  • Antarmuka fungsi ini tidak memberi tahu kami apa pun: Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka ;
  • Pada gangguan eksekusi Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka ;
  • tentang kompleksitas asimptotik dari peringkat Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka ;
  • Pada jumlah memori gratis yang diperlukan untuk memulai Ini hanya memiliki dua parameter, yang masing-masing tidak ditandatangani ;
  • Tentang implementasi spesifik yang tidak ditandatangani

Pada efek samping (alokasi memori, memodifikasi variabel global).

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

Antarmuka yang dijelaskan di atas

dikenal di bawah jenis fungsi

Prototipe.

. Dalam versi K & R C sebelumnya, bentuk deskripsi antarmuka yang lebih lemah digunakan:

unsigned int add_numbers ();

Definisi antarmuka sebagai kontrak sangat nyaman untuk pemrograman. Bagaimanapun, sebagian besar tugas programmer terdiri dari menentukan dan meminta set aksioma. Kondisi primer dan akhir memberikan beberapa sifat atau perilaku. Sebelum dua pihak mengikat hubungan bisnis satu sama lain, mereka menyiapkan kontrak. Ini merumuskan hasil akhir, jumlah dan waktu pembayaran. Ini juga menetapkan kondisi untuk penghentian dini, penggantian dan biaya. Jika kontrak dilanggar, situasinya mengubah pengadilan atau arbitrase. Tetapi jika Anda lupa sesuatu untuk menentukan dalam kontrak, maka kejutan mungkin timbul.

Dengan program komputer semuanya sama. Modul dan fungsi mengatakan bahwa mereka membutuhkan dan (kadang-kadang) apa yang akan mereka berikan sebagai imbalan. Pelanggaran kontrak ini akan mengarah pada kesalahan kompilasi, dengan kesalahan eksekusi, dengan kegagalan aplikasi, sistem, alat kontrol kualitas dan kepemimpinan manual. Saya bahkan akan mengatakan bahwa definisi antarmuka sebagai kontrak bukan metaforis. Berikut adalah prinsip yang sama seperti dalam kontrak komersial, meskipun tidak terlalu detail.

Paten, hak cipta, dan antarmuka

Saya tidak akan memberi Anda nasihat di bidang hukum. Mungkin sesuatu dari saya mengatakan bahkan akan bertentangan dengan hukum. Semua yang berikut ini adalah pendapat pribadi penulis.

Jadi, saya cenderung

secara harfiah

Pertimbangkan antarmuka sebagai "kontrak komersial" antara dua entitas. Saya menekankan - saya tidak menganggapnya sebagai metafora. Saya terutama mengatasi interpretasi ini oleh spesialis dalam teori mesin komputasi dan pemrotes hak cipta.

Haruskah Paten Antarmuka? Mengingat definisi-Nya sebagai kontrak antara sistem dan lingkungan, saya percaya bahwa penggunaan paten akan menjadi kesalahan. Dan, rupanya, hukum kasus yang ada mendukung posisi saya. Tetapi perlu diingat bahwa kata "antarmuka" digunakan sangat luas, dan seringkali sama sekali dalam arti, seperti yang saya jelaskan di atas.

Haruskah saya melindungi antarmuka dengan hak cipta? Sekali lagi, mengingat sifat "kontraktual", saya percaya bahwa "kode sumber" antarmuka harus menjadi objek hak cipta. Pada saat yang sama, hak cipta tidak boleh diterapkan pada aspek antarmuka yang membuatnya istimewa. Cukup melindungi kode sumber atau gambar tulisan tangan, tetapi bukan garansi atau keterbatasan. Jika garansi atau pembatasan antarmuka menjadi tidak dapat dipisahkan dari bagian-bagian dari kode-bagiannya, bagian-bagian ini harus dirampas dari hak perlindungan.

Saya mengusulkan tes sederhana yang memungkinkan Anda untuk menghargai apakah perlu untuk melindungi dengan hak cipta.

Jika Anda ingin melindungi beberapa jenis atribut set, termasuk komponen apa pun dari pihak ketiga, dengan cara apa pun yang digunakan oleh antarmuka, Anda selalu dapat membuat pengganti yang sesuai. Penggantian mengimplementasikan antarmuka yang sama dan berhasil digunakan dalam perangkat lunak dari pihak ketiga, tanpa modifikasi perangkat lunak ini sendiri, serta tanpa melanggar hak cipta apa pun. Jika ada penggantian akan mengarah pada pelanggaran hak cipta, atau menyiratkan memodifikasi perangkat lunak dari pihak ketiga, atau memperburuk fungsionalitas, maka set atribut terlalu agresif dan harus dikurangi.

Saya percaya bahwa dengan bantuan tes ini, disarankan untuk memeriksa bahkan pada kepatasan. Harap dicatat: Tujuan dari tes ini adalah untuk menentukan sangat

Inappolisi.

hak cipta perlindungan atau paten. Dia tidak akan membantu dalam mengatasi itu

mengikuti

Giliran perlindungan. Selain itu, tes ini hanya pendapat saya, dan bukan tindakan atau hukum regulasi.

Saya juga ingin mencatat bahwa kriteria yang dianggap sebagai bagian dari antarmuka dalam bahasa yang sama mungkin bukan itu dalam bahasa lain. Misalnya, di Jawa, prosedur untuk mendeklarasikan fungsi tidak mempengaruhi eksekusi program. Dan jika Anda secara tidak sengaja mengatakan bahwa urutan fungsi dalam file tidak masalah, itu akan menjadi kesalahan dalam kaitannya dengan program pada Python: 

Def foo (): cetak ("asdf") def foo (ABC): cetak (ABC) foo ("lol")

Semua percakapan tentang hukum mengingatkan saya pada

Oracle melawan Google.

. Menurut tautan yang diberikan, Anda dapat menemukan detail menarik untuk pengembang, jadi saya akan mengandalkan mereka dalam analisis saya. Mengingat semua aspek, saya tidak melihat alasan untuk tidak setuju dengan keputusan kasus demi oracle. Saya tidak bisa mengatakan bahwa mereka tanpa syarat mendukung mereka, karena kami tidak tersedia tidak begitu banyak bagian dari proses.

Saya pikir banyak khawatir bahwa preseden akan dibuat, memungkinkan elemen antarmuka untuk melindungi paten atau hak cipta. Hanya kasus di mana tes saya tidak akan dilewati. Pengadilan Distrik membuat keputusan: "Struktur, urutan dan arsitektur API dapat dilindungi oleh hak cipta." Saya tidak berpikir bahwa ini adalah masalah, karena "struktur, urutan dan arsitektur" dalam definisinya akan sepenuhnya melalui tes saya. Saya akan memberikan beberapa kutipan dari artikel di tautan di atas:

"Pengadilan Distrik menyimpulkan bahwa" hanya ada satu cara menulis "iklan untuk berinteraksi dengan Jawa. Jika demikian, penggunaan iklan yang sama tidak dikenakan hak cipta. Google tidak membantah fakta bahwa mereka dapat menulis API mereka sendiri untuk mengakses Java, dengan pengecualian tiga. " Akhirnya, "di Google mengakui bahwa mereka benar-benar menyalin iklan."

Saya pikir pengadilan menerima keputusan yang tepat, menyimpulkan bahwa sifat unik dari antarmuka tidak boleh dilindungi. Selain itu, Google mengenali penyalinan "literal". Jika ini berarti kopperas, termasuk semua kesenjangan dan kesalahan ejaan dalam komentar, maka saya menganggapnya sebagai pelanggaran hak. Bahkan jika antarmuka tidak dapat dilindungi, seharusnya tidak mengganggu perlindungan ekspresi kreatif individu.

Saya tahu tentang litigasi ini hanya dari sumber jaringan terbuka, tetapi, tampaknya, kode Java asli telah sepenuhnya disalin ke Google, termasuk antarmuka. Tampaknya mereka sendiri percaya bahwa itu perlu untuk melisensikan penggunaan Jawa, karena itu adalah subjek negosiasi tentang perjanjian lisensi dengan Sun sebelum 2010. Tetapi perjanjian ini gagal setelah matahari dibeli oleh Oracle. Namun demikian, Google terus menggunakan salinan kode "literal", yang jelas tidak sesuai dengan manfaatnya di persidangan. Saya menduga bahwa pengacara mereka tahu tentang kelemahan posisi mereka, sehingga mereka memilih strategi perlindungan berdasarkan permintaan yang sah untuk non-proliferasi hak cipta terhadap antarmuka. Mereka berharap untuk memenangkan kasus dengan mengorbankan representasi antarmuka dalam bentuk kode sumber dan hubungannya dengan konsep yang lebih filosofis.

Apa itu "modul", atau "abstraksi"?

Dengan kata "modul" di kepala saya ada gambar modal posting. Ilustrasi ini dengan baik menunjukkan pentingnya batas-batas modul dan interaksi dengan lingkungan. Antarmuka kubus sangat membatasi interaksi lingkungan eksternal dengan isi kubus. Anda tidak akan dapat melewati antarmuka, jadi Anda harus menjaga "aturan permainan" yang dikenakan. Akhirnya, tidak ada di dalam kubus, tetapi tidak masalah: itu penting bukan isinya, tetapi antarmuka.

Contoh lain: struktur membran sel. Berbagai komponen hanya menyediakan zat yang diperlukan melalui membran dan hanya ketika diperlukan.

Dalam konteks artikel ini, saya akan menggunakan istilah "modul" dan "abstraksi" sebagai sinonim. Tentu saja, kamus penjelas tidak akan setuju dengan saya, dan bahkan dalam bahasa pemrograman yang berbeda, ketentuan ini memiliki makna yang berbeda. Tetapi dalam hal ini, saya hanya tertarik pada kenyataan bahwa kedua entitas ini dapat dipandang sebagai sistem karena dipahami dalam artikel ini. Yaitu, abstraksi dan modul dapat terdiri dari antarmuka dan implementasi.

Anda dapat membaca fungsi terpisah dari modul dalam C, "modul" - dalam Python, kelas atau paket - di Jawa. Sesuatu, jika hanya itu memiliki antarmuka eksternal dan implementasi "tersembunyi". Selain itu, mungkin ada konsekuensi dari aturan bahasa atau bahkan keputusan seorang programmer.

Abstraksi Pengeringan.

Sejauh yang saya tahu, idenya

Abstraksi Dumpy Mengajukan Joel Spolski

. Dalam esainya ada beberapa contoh bagus, tetapi saya ingin membawa sendiri. Dalam pemrograman, konsep "peta" sangat sering ditemui: mewakili struktur data yang terdiri dari pasangan kunci dan nilai. Batas Penting: Kartu memastikan bahwa semua kunci harus unik. Upaya untuk merekam nilai baru untuk kunci yang ada akan menghasilkan kesalahan atau menimpa nilai sebelumnya. Intinya adalah bahwa tombol tidak boleh digandakan. Paling sering, programmer memerlukan keinginan untuk memilah semua kunci ini. Dan karena peta tidak dapat menjamin urutan kunci pengurutan tertentu, kadang-kadang perlu bertanya-tanya dalam urutan apa yang akan mereka lakukan setelah busting? Ini adalah konsekuensi dari fakta bahwa antarmuka kartu tidak memungkinkan penyelesaian jaminan. Dan meskipun diyakini bahwa itu tidak masalah, tetapi dalam praktiknya, saya masih ingin menyortir. Jadi perlu bagi organisasi data yang lebih efisien, misalnya, untuk memfasilitasi verifikasi tombol yang ada.

Data yang diurutkan dengan brute force dapat memberikan hasil yang sama sekali berbeda dibandingkan dengan data acak yang luar biasa. Misalkan Anda perlu menemukan nilai minimum dalam daftar: 

min = null; daftar = map.getmapkeys (); untuk (item dalam daftar) {if == null) {min = item} lain jika (item <min) {min = min; / * Baris ini memiliki bug * /}}

Cabang

Lain jika.

Itu tidak akan pernah dieksekusi jika data diurutkan naik. Bahkan jika Anda mulai memeriksa dari lokasi acak daftar, program tidak akan pernah bertabrakan dengan string ini. Dan ini adalah masalah besar, karena jika Anda mengubah implementasi kartu dan itu tidak akan kembali tombol yang diurutkan, maka kode Anda tiba-tiba akan dilakukan pada bug bug. Dan pada saat Anda akan sepenuhnya melupakan kode ini dan bom tersembunyi di dalamnya.

Saya ingin menawarkan definisi abstraksi saya sendiri.

Kebocoran abstraksi (abstrak bocor) disebut situasi ketika implementasi dapat mempengaruhi lingkungan karena tidak disediakan oleh antarmuka.

Sesuai dengan definisi ini,

Hampir semua

Abstraksi - Breathing. Bagaimanapun, deskripsi dalam antarmuka semua jenis dampak lingkungan hanya masuk akal dalam sistem matematika paling ketat. Dan untuk sistem fisik, maka Anda mungkin diingat

.

Teorema Gödel tentang ketidaklengkapan

Gagasan dari lubang sebagian besar abstraksi tidak masuk akal. Ini berarti Joel Spolski dalam "Hukum Abstrak Leaky":

"Semua abstraksi non-sepele adalah lubang sampai batas tertentu."

Setelah semua abstraksi bersandar, apa yang harus dibicarakan? Masalah muncul hanya ketika bagian dari lingkungan mulai bergantung pada salah satu cara terpapar yang tidak terduga terhadap sistem. Ini tentang kebocoran seperti yang dikatakan semua orang.

Hal ini mengarah pada konsekuensi yang luas, tidak hanya dari sudut pandang bug biasa, tetapi juga di bidang keamanan. Dengan sistem fisik di mana ada kebocoran ke lingkungan luar, kompromi keamanan, istilah "

Serangan Saluran Samping

" Dalam kombinasi dengan pernyataan bahwa semua abstraksi lubang, itu menuntun kita pada kesimpulan:

Setiap implementasi fisik cryptosystem rentan terhadap serangan pihak ketiga.

Mengingat semua hal di atas, ide ini dapat diperpanjang tidak hanya untuk fisik, tetapi juga pada implementasi yang ditiru.

Evaluasi dan Perbandingan antarmuka

Seperti yang telah kita lihat di atas, dalam antarmuka pada C adalah set seperti jenis nilai pengembalian dan jumlah parameter yang dapat ditransmisikan. Bagaimana dengan Python? Saya menggunakan istilah "antarmuka" sesuai dengan konteks artikel, yaitu, dalam arti yang lebih luas dibandingkan dengan apa yang mereka tulis dalam buku-buku tentang "antarmuka" di Python. 

Def add_numbers (a, b): Kembalikan + bprint (add_numbers (3,1)) cetak (add_numbers ("abc", "def"))

Dalam bahasa ini, kita perlu memformalkan jenis antarmuka fungsi. Ini menyederhanakan fungsi definisi dan panggilan, karena perlu untuk memproses lebih sedikit informasi. Di sisi lain, pembatasan di mana Anda dapat melaksanakan cek untuk pencarian kesalahan kurang.

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

Saya pikir Anda perlu sesuatu untuk dikatakan tentang penilaian dan perbandingan dengan karakteristik yang berbeda dari antarmuka dari sudut pandang metode transmisi informasi. Anda dapat mengevaluasi kedua antarmuka tertentu dan satu set semua antarmuka yang dapat diimplementasikan dalam bahasa ini. Mari kita ingat contoh kita

Dan kami memperkirakan berapa banyak informasi yang dapat kami lewati antarmuka dan melewati itu, dengan bantuan kebocoran abstraksi. Melalui antarmuka
Dengan berkeliling antarmuka Deskripsi karakteristik Dengan berkeliling antarmuka Deskripsi karakteristik
Jumlah Negara yang Dimungkinkan Jenis parameter 1. 1 (int unsigned) Keadaan variabel global
(Jumlah variabel global) * (jumlah negara dari variabel global) Jenis parameter 1. Jenis parameter 2. Berkas sistem
Jumlah Status Sistem Negara Jenis parameter 1. Jenis nilai yang dikembalikan Waktu penggunaan prosesor
Tidak terbatas Nilai parameter 1. 2 ^ (hitung dalam int unsigned) Keadaan kuchi.
Jumlah Negara Nilai parameter 1. Nilai parameter 2. Banyak orang lain ...
... Nilai parameter 1.

Nilai Kembali

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

Dan ada sejumlah hal yang dapat berkomunikasi dengan

melalui antarmuka python. Transmisi informasi melalui antarmuka python
Dengan berkeliling antarmuka Deskripsi karakteristik Dengan berkeliling antarmuka Deskripsi karakteristik
Jumlah Negara yang Dimungkinkan Transfer informasi melewati antarmuka python 1 (int unsigned) Berkas sistem
(Jumlah variabel global) * (jumlah negara dari variabel global) Transfer informasi melewati antarmuka python Jenis parameter 2. Waktu penggunaan prosesor
Jumlah Status Sistem Negara Transfer informasi melewati antarmuka python Jenis nilai yang dikembalikan Keadaan kuchi.
Tidak terbatas Transfer informasi melewati antarmuka python 2 ^ (hitung dalam int unsigned) Banyak orang lain ...
Jumlah Negara Transfer informasi melewati antarmuka python Nilai parameter 2. Keadaan variabel global
... Transfer informasi melewati antarmuka python

Praktis tak terbatas

Dan sekarang lihatlah jumlah jenis antarmuka yang dapat kita jelaskan di Haskell: 

Add_numbers :: int> int -> intadd_numbers 3 4 = 7main = print (add_numbers 3 4)

Semua ini adalah penasaran filosofis, tetapi bagaimana mereka berhubungan dengan perangkat lunak penulisan? Nah, mari kita mulai dengan fakta bahwa antarmuka dalam pemrograman mengelilingi Anda dari semua sisi, bahkan jika Anda tidak memperhatikannya. Misalnya, jika Anda pemrograman di Java, maka secara eksplisit menyebutkan antarmuka tergantung pada tujuannya. Dan dalam bahasa lain, mereka juga hadir. Mari kita pertimbangkan contoh fungsi antarmuka

Mengingat kode ini, antarmuka

Dapat memperoleh informasi berikut: Mentransfer informasi melalui antarmuka Haskell
Dengan berkeliling antarmuka Deskripsi karakteristik Dengan berkeliling antarmuka Deskripsi karakteristik
Jumlah Negara yang Dimungkinkan Transmisi Informasi dengan cara antarmuka Haskell Jenis nilai yang dikembalikan Waktu penggunaan prosesor
(Jumlah variabel global) * (jumlah negara dari variabel global) Transmisi Informasi dengan cara antarmuka Haskell 1 (int) Waktu penggunaan prosesor
Jumlah Status Sistem Negara Transmisi Informasi dengan cara antarmuka Haskell Efek pada cache prosesor / memori Banyak orang lain ...
Tidak terbatas Lainnya ...
Jumlah Negara 1 (Nilai 3)
... 1 (Nilai 4)

Setidaknya 2 ^ 30 [1]

  • Untuk antarmuka tertentu dalam bahasa yang Anda pilih, Anda juga dapat mengevaluasi jumlah cara unik untuk mentransfer informasi:
  • melalui antarmuka;

Dengan berkeliling antarmuka melalui kebocoran abstraksi.

  • Anda juga dapat memperhatikan hal-hal berikut:
  • Berapa banyak pembatasan yang dapat Anda gunakan dalam bahasa ini dari sudut pandang jumlah minimum dan maksimum informasi yang ditransmisikan melalui antarmuka;

Instrumen apa yang menyediakan bahasa ini untuk mencegah interaksi ke antarmuka bypass.

Program.
Mari kita analisis dengan cara ini antarmuka pengguna grafis di mana dimungkinkan untuk mengubah folder: Penularan informasi melalui GUI
Dengan berkeliling antarmuka Deskripsi karakteristik Dengan berkeliling antarmuka Deskripsi karakteristik
Transfer Informasi Bypassing GUI Klik pada Folder 1 Jumlah piksel pada layar yang dipegang oleh folder 1 * Jumlah klik Waktu penggunaan prosesor
Kemungkinan tersembunyi UI. Klik pada Folder 2 Jumlah piksel pada layar yang dipegang oleh folder 2 * Jumlah klik Kombinasi panggilan cepat non-standar
Jumlah piksel pada layar yang ditempati oleh tombol 2 Kursor panduan ke folder 1 Jumlah piksel pada layar yang dipegang oleh folder 1 Banyak orang lain ...
Kemampuan UI tak terduga lainnya Kursor Bimbingan ke Folder 2
Jumlah piksel pada layar yang dipegang oleh folder 2 Waktu antara bimbingan dan klik
Tanpa batas Acara keyboard standar
Jumlah kombinasi kunci standar Area layar ditempati oleh GUI

Jumlah piksel yang digunakan untuk menampilkan GUI

Dan sekarang pertimbangkan tugas yang sama untuk mengubah folder menggunakan baris perintah dan

:

Mari kita analisis dengan cara ini antarmuka pengguna grafis di mana dimungkinkan untuk mengubah folder: Penularan informasi melalui GUI
Dengan berkeliling antarmuka Deskripsi karakteristik Dengan berkeliling antarmuka Deskripsi karakteristik
CD Waktu penggunaan prosesor Jumlah nama folder yang dapat Anda panggil Waktu penggunaan prosesor

Lingkungan variabel.

Dalam dua tabel sebelumnya, saya tidak memasukkan data seperti jumlah noise dalam sinyal. Jika Anda membandingkan kompleksitas pengulangan dari urutan yang sama ketika Anda menekan tombol (satu demi satu) dan gerakan mouse (piksel di belakang piksel), jelas bahwa dalam kasus kedua, kesalahannya jauh lebih. Di antarmuka grafis, ini dikompensasi dengan membuat semantik yang kurang ketat. Bayangkan jika pada tombol "OK" dan "Batal" yang tersedia untuk klik zona hanya lebar 1 piksel.

Dimungkinkan untuk lebih memperumit analisis jika Anda mengevaluasi perubahan dalam bagian kesalahan pada pengguna dengan cacat fisik.

  • Jadi, kami mempertimbangkan salah satu cara yang mungkin untuk menilai dan membandingkan antarmuka. Berdasarkan contoh-contoh di atas dan pengalaman mereka sendiri, izinkan saya membuat beberapa ekstrapolasi:
  • Orang lebih suka antarmuka yang tidak terlalu ketat ketika menerima informasi, terutama jika antarmuka tidak dikenal.
  • Antarmuka yang tidak terlalu ketat lebih sering digunakan secara tidak benar.
  • Antarmuka komprehensif yang menghosting sejumlah besar informasi terlihat kuat, tetapi sering digunakan secara tidak benar.
  • Jika interaksi menjadi membosankan, orang mencoba mentransfer informasi ke bypass antarmuka.

Ketika berinteraksi, melewati antarmuka, melalui kebocoran abstraksi, munculnya kejutan yang tidak menyenangkan sangat mungkin.

Antarmuka pengeringan dan terbatas

Saya akan menjelaskan beberapa pengamatan berdasarkan analisis dari bagian sebelumnya. Tapi pertama-tama saya akan memberikan beberapa definisi:

Antarmuka bocor (Antarmuka Leaky) adalah antarmuka yang diabaikan selama interaksi antara sistem dan lingkungan.

Antarmuka terbatas (antarmuka tertentu) adalah antarmuka dengan jumlah input dan output yang relatif kecil.

Contoh yang baik dari antarmuka terbatas -

fungsi yang ditentukan piecewise.

didefinisikan hanya untuk sejumlah kecil input data.

Jika Anda dapat mengevaluasi antarmuka "lubang" atau "keterbatasan", masuk akal untuk menguraikan rentang, di salah satu ujungnya akan menjadi antarmuka yang sangat terbatas dan tidak aktif, dan di sisi lain - tidak terbatas dan bocor.

Anda mungkin menawarkan seseorang untuk bergerak ke kiri atau tepat pada skala, tetapi yang paling penting, Anda meraih idenya. Anda bahkan dapat menghancurkan dua sisik terpisah: sesuai dengan derajat lubang dan ketelitian. Meskipun secara umum kedua konsep ini berkorelasi dengan baik.

Korelasi selanjutnya yang ingin saya tawarkan berasal dari pengalaman saya. Di tepi kiri skala "kesalahan" kurang umum, dan biasanya mereka timbul karena kegagalan

Validasi.

.

. Di tepi kanan skala kesalahan terjadi lebih sering, dan seringkali alasan mereka terletak pada kegagalan kapan

verifikasi

Kompleksitas hutang teknis asimptotik

Saya akan mulai dengan pernyataan:

Bagian utama dari utang teknis muncul dalam proyek atau karena bantuan yang tidak dapat diterima pada kebocoran abstraksi, atau karena antarmuka yang sangat luar biasa, yang sangat memperumit peramalan konsekuensinya.

Pada awalnya, proyek ini berisi satu atau dua modul, dan untuk mempelajari perjanjian antarmuka yang baik, Anda perlu melakukan jumlah pekerjaan pada (1). Jika antarmuka Anda buruk, volume utang teknis juga akan sama dengan (1), sehingga Anda tidak perlu menghabiskan terlalu banyak waktu untuk membawa kontrak antarmuka. Tetapi dengan peningkatan linear dalam jumlah modul, volume obligasi intermotikulik dapat mencapai O (n ^ 2). Oleh karena itu, dengan antarmuka yang buruk, jika setiap modul berinteraksi dengan semua modul lain, jumlah banding ke antarmuka dalam kasus terburuk akan sebanding dengan n ^ 2.

Seperti yang dapat dilihat dari grafik, pada awalnya disimpan untuk membuat antarmuka yang dipikirkan dengan baik. Tetapi kemenangan ini hilang dengan cepat karena meningkatnya masalah yang terkait dengan interaksi antar-modul. Jumlah pekerjaan karena ini meningkat hingga tingkat jumlah modul, sedangkan dengan antarmuka yang baik tumbuh secara linear. Skenario terburuk - Ketika setiap modul berkomunikasi dengan setiap modul, ada lebih banyak masalah dalam proses Hendeshka, dari sini dan batang.

Biasanya, tingkat interaksi antarmodulik tumbuh lebih lambat dari O (n ^ 2), tetapi jelas lebih cepat dari sekitar (n). Ada juga satu faktor yang menggeser awal pertumbuhan cepat di masa depan: ini adalah memori manusia. Bahkan ketika ada 20 modul dalam proyek Anda, Anda mungkin ingat bahwa itu membuat masing-masing. Jadi, dari semua kontrak Anda hanya perlu nama foggy fungsi dan perjanjian esoteris. Tetapi segera setelah proyek menjadi cukup besar, maka banyak detail dilupakan, atau ketika orang baru datang ke proyek - dan pertumbuhan biaya tenaga kerja yang kuat dimulai.

  • Mengapa masih menggunakan baris perintah?
  • Anda akan menerima jawaban yang berbeda dari orang dengan pertanyaan ini, tidak ada yang menurut saya hal yang paling penting:
  • Baris perintah fleksibel dan memberikan banyak peluang.

Ini menghabiskan lebih sedikit sumber daya.

Ini memungkinkan Anda untuk lebih memahami bagaimana semuanya bekerja.

Yang paling penting adalah mengapa kita masih menggunakan baris perintah, itu

OTOMATISASI!

Hampir tidak mungkin melebih-lebihkan manfaat menggunakan proses otomatis. Jika saya perlu menjalankan cluster ke 100 server, saya tidak akan terhubung ke masing-masing secara individual dan secara manual menginstal perangkat lunak, mengklik tumpukan tombol di GUI yang tak terhitung jumlahnya. Bahkan jika Anda perlu mengotomatiskan proses klise di GUI, Anda akan memerlukan file lain di mana informasi akan disimpan di mana dan bagaimana mengklik. Sesuatu seperti file yang fleksibel ... tim.

Meskipun kami dapat menerapkan otomatisasi melalui grabber klik dan di layar, kita tidak boleh lupa bahwa jenis interaksi dengan mesin ini diciptakan untuk orang-orang. Ini menyiratkan penggunaan antarmuka yang tidak ketat yang tidak memerlukan akurasi tinggi. Oleh karena itu, Clicker otomatis Anda pasti akan digunakan jika jendela tiba-tiba bergerak dari posisinya atau font sistem akan berubah. Dengan GUI, terlalu banyak variabel terhubung. Dan baris perintah memungkinkan Anda untuk bertindak lebih akurat, Anda berinteraksi melalui antarmuka yang sangat ketat. Oleh karena itu, banyak orang tidak menyukainya, tidak seperti program komputer.

Tentu saja, ada situasi di mana akurasi rendah interaksi GUI baik. Misalnya, ketika membuat lukisan digital, Anda tidak perlu khawatir tentang penempatan dan warna setiap piksel. Yang utama adalah menjadi

sesuatu

Khusus untuk setiap piksel. Oleh karena itu, kebisingan yang ditransmisikan dengan tangan bergerak kursor menjadi informasi penting dalam produk akhir.

Memilih bahasa yang tepat

Setelah bagian tentang kompleksitas asimptotik hutang teknis, Anda mungkin berpikir bahwa setiap proyek perlu ditulis dalam bahasa dengan kondisi kontrak antarmuka yang sangat ketat, seperti Haskell atau Java. Tapi ini bukan yang ingin saya sampaikan. Jawaban untuk pertanyaan berikutnya dapat membantu Anda membuat pilihan yang tepat.

Seberapa besar kemungkinan akan mengubah persyaratan untuk proyek Anda?

Pada awal kasus baru, jawabannya pasti akan "sangat mungkin", terutama jika produk kecil dibuat, dan bahkan dengan ambiguitas prospeknya di pasar. Jika persyaratannya dirumuskan dengan jelas sebagai, misalnya, dalam hal membuat kompiler atau pengembangan proyek berdasarkan standar internasional, jawabannya pasti akan "tidak terlalu mungkin."

Jika Anda menjawab "sangat mungkin", maka gunakan bahasa yang akan memungkinkan Anda kehilangan lebih sedikit waktu ketika menentukan kontrak antarmuka: mereka tentu akan bekerja melawan Anda jika terjadi perubahan persyaratan. Tetapi tugas utama di sini bukan untuk mendapatkan implementasi ideal dari persyaratan, tetapi persyaratan ideal yang memungkinkan Anda

memulai

Buat implementasi akhir. Pengecualian mungkin merupakan situasi di mana MVP Anda adalah sistem besar dengan ratusan modul. Jika banyak orang terlibat dalam proyek, maka antarmuka yang baik hanya perlu agar mereka saling datang.

Jika Anda menjawab "tidak terlalu mungkin", maka gunakan bahasa dengan kontrak antarmuka yang sangat ketat. Pertama, Anda harus bekerja lebih banyak, tetapi kemudian pengenalan peluang baru akan membutuhkan sedikit usaha. Satu-satunya pengecualian mungkin merupakan situasi jika Anda menulis beberapa produk kecil (beberapa ratus string).

Kadang-kadang rusak beberapa salinan mengenai apa yang mulai dibuat Twitter pada Ruby on Rails, dan kemudian alasan penskalaan proyek. Twitter kemudian diterjemahkan ke Scala. Seseorang dapat berasumsi bahwa pengembang melakukan kesalahan dan mereka harus segera memilih Scala. Saya tidak berpikir begitu. Di jantung Twitter terletak ide yang sangat sederhana, dan dalam kondisi sejumlah besar pesaing yang mereka butuhkan untuk memenangkan posisi dominan di pasar. Mereka perlu tumbuh secepat mungkin, meskipun ada biaya. Siklus pengembangan fitur-fitur baru harus telah lulus paling cepat, karena memungkinkannya dalam waktu sesingkat mungkin untuk memahami apa sebenarnya kebutuhan pengguna, produk apa yang mereka inginkan sebagai hasilnya. Kesulitan penskalaan adalah tanda tidak gagal, tetapi sukses. Visi Twitter diformulasikan sebagai produk jadi, dan tetap hanya untuk mewujudkannya. Dari sudut pandang pengembang, itu hanya nirwana, semua orang bermimpi tentang hal seperti itu, tetapi hanya sedikit orang yang berhasil bekerja dalam kondisi seperti itu: "Relegate ini dari awal pada bahasa favorit Anda, karena nyaman bagi Anda, jika saja Di masa depan lebih mudah untuk bekerja dengannya. " Jauh lebih mudah untuk menulis ulang sesuatu dari awal, memiliki implementasi yang lebih lemah di depan mata kita daripada mencoba menambahkan tampilan produk, yang akan memungkinkan perusahaan lepas landas. Sayangnya, sebagian besar peserta pasar hanya dengan menghindari biaya "yang tidak perlu" untuk dibuat dari awal dan menghabiskan banyak kekuatan dan waktu untuk penskalaan bahwa pada awalnya mustahil untuk sementara waktu.

Mengapa Python begitu populer?

Pada bagian pada lubang dan antarmuka yang ketat, saya berbicara tentang metode mengklasifikasikan antarmuka, tergantung pada kecenderungan mereka untuk kebocoran abstraksi, serta seberapa ketat dapat definisi antarmuka. Dan saya menunjukkan fakta bahwa antarmuka yang lebih "ramah" dan "produktif" jauh lebih rentan terhadap kebocoran daripada bagian lain dari spektrum antarmuka.

Saya percaya bahwa popularitas Python muncul dari kenyataan bahwa itu adalah bahasa pengantar yang sangat baik yang memberikan kontrak antarmuka yang sangat sederhana. Untuk alasan yang sama, dengan peningkatan proyek pada Python, itu menjadi semakin sulit.

Python sangat populer di komunitas ilmiah dan di antara eksperimen kekasih dengan analisis numerik. Inti dari eksperimen ini membutuhkan peningkatan konstan dalam produk yang dibuat, dan antarmuka yang ketat melambat.

Mengapa perangkat lunak korporat biasanya menulis di Java / C ++?

Pada bagian tentang lubang dan antarmuka yang ketat, saya berbicara tentang kompromi yang terkait dengan berbagai jenis antarmuka. Java dan C ++ lebih dari bagian spektrum yang ketat, tidak seperti Python atau Ruby. Ya, kebocoran mungkin memiliki kebocoran, dan ada bahasa yang lebih ketat (Haskell yang sama), tetapi Java dan C ++ lebih seimbang dari sudut pandang skalabilitas, keramahan, dan lirik. Selain itu, kedua bahasa ini memungkinkan Anda untuk fleksibel untuk mengontrol lubang antarmuka tergantung pada perjanjian proyek. Misalnya, membuat variabel atau fungsi dengan pribadi, publik atau terlindungi.

Cara memotong sudut

Jika Anda ingin membawa sesuatu dari artikel ini, silakan, ketika Anda perlu memotong sudut dalam proyek, lakukan di dalamnya

Penjualan

dan berbalik B.

  • Baik sekali
  • antarmuka. Bahkan jika implementasinya tidak terlalu bagus dan masalahnya mengalir ke bagian lain dari sistem, maka ini adalah masalah antarmuka yang buruk! Sehingga tidak ada kesalahpahaman, biarkan daftar apa yang saya maksud di bawah antarmuka:
  • Prototipe fungsi.
  • "Antarmuka" Java.
  • Metode kelas publik.
  • Variabel komponen publik.
  • File header (.h) di C / C ++.
  • Poin akhir API yang tenang.
  • Routing URL.
  • Aspek publik dari "model" atau "paket".

Struktur basis data logika (DDL).

Dan banyak lagi.

Kesimpulan

Seperti yang Anda lihat, konsep antarmuka sangat penting dan memiliki dampak yang sangat besar pada pengembangan proyek di bidang perlindungan hukum, produktivitas dan jumlah hubungan filosofis dengan aspek lain dari struktur sistem. Minta programmer lain yang mereka pikirkan tentang antarmuka, dan dengarkan segala macam hal.

Antarmuka pengguna adalah sarana interaksi antara manusia dan komputer. Berbicara dengan kata-kata sederhana, antarmuka adalah bagian eksternal dari program atau perangkat yang digunakan pengguna. Antarmuka kata - kartrid dengan antarmuka bahasa Inggris, yaitu, "tautan perbatasan".

Paling sering, di bawah antarmuka kata menyiratkan antarmuka pengguna. Misalnya, mereka berkata: "Toko online ini memiliki antarmuka yang tidak nyaman dan membingungkan." Ini berarti bahwa toko tidak nyaman untuk berinteraksi. Misalnya, sulit untuk menemukan barang yang diperlukan, tidak jelas bagaimana melakukan pemesanan, situs tidak menyimpan data yang dimasukkan sebelumnya, dll.

Contoh penggunaan:

Banyak pengguna ingin mengembalikan antarmuka lama "Vkontakte", mereka tidak menyukai yang baru.

Program ini memiliki antarmuka yang intuitif - segera jelas di mana untuk menekan dan apa yang akan mengarah pada.

Antarmuka Windows sangat rumit: Pengguna yang tidak berpengalaman bingung dalam tumpukan pengaturan.

Antarmuka Web adalah halaman di Internet yang memungkinkan pengguna untuk berinteraksi dengan beberapa layanan atau perangkat langsung melalui browser. Misalnya, menggunakan antarmuka web, Anda dapat menggunakan bank online: buka halaman bank, masukkan login dan kata sandi, dan kemudian menerjemahkan uang antar akun, bayar untuk layanan, dll.

Antarmuka perangkat keras dan perangkat lunak. Apa antarmuka USB dan API Selain antarmuka pengguna, ada antarmuka perangkat lunak (interaksi program satu sama lain) dan antarmuka perangkat keras (metode untuk interaksi perangkat fisik, "besi"). Ketika mereka mengatakan tentang antarmuka perangkat keras, mereka biasanya berarti konektor di mana perangkat dapat dihubungkan satu sama lain. Misalnya, "koneksi melalui antarmuka USB" berarti menghubungkan perangkat melalui

Ban sequential universal.

dimaksudkan untuk menghubungkan peralatan periferal. Melalui USB, misalnya, Anda dapat menghubungkan keyboard, mouse, kamera atau ponsel cerdas ke komputer.

Antarmuka Perangkat Keras - Kabel USB

Antarmuka program adalah cara untuk berinteraksi program di antara mereka sendiri. Misalnya, API (antarmuka pemrograman aplikasi, antarmuka pemrograman aplikasi) adalah seperangkat perintah yang memungkinkan program untuk secara otomatis bertukar data tanpa partisipasi masyarakat. Satu program API mengirimkan permintaan, yang lain meresponsnya.

Misalnya, di situs berita menunjukkan nilai tukar mata uang yang berubah secara real time. Ini tidak berarti bahwa editor situs setiap kali mengubah angka secara manual pada halaman. Situs berita itu sendiri mengirimkan permintaan API ke server dengan pertukaran mata uang dan menerima angka yang diperlukan dari sana.

Jenis antarmuka pengguna. Grafis, teks dan lainnya

Antarmuka teks adalah cara untuk mengkomunikasikan seseorang dengan komputer menggunakan Command Printing. Misalnya, dalam sistem operasi MS-DOS, antarmuka adalah tekstual - panggilan pengguna perintah yang diperlukan pada keyboard, dan mesin menampilkannya.

Antarmuka Teks MS-DOS - Baris Perintah

Masalah antarmuka teks adalah bahwa pengguna harus mengetahui perintah yang diperlukan dan setiap kali mengetik secara manual tanpa kesalahan. Sebagian dari kesulitan ini menghilangkan shell untuk MS-DOS - misalnya, Komandan Norton.

Norton Commander - Manajer File untuk MS-DOS. Anda tidak hanya dapat mengetik perintah pada keyboard, tetapi bekerja dengan file menggunakan pintasan keyboard.

Segera muncul antarmuka grafis di mana pengguna berinteraksi dengan objek visual: tombol, ikon, gambar di layar. Sistem operasi Windows menggunakan antarmuka grafis: pengguna mengklik ikon pada ikon - piktogram yang menggambarkan file dan program.

Antarmuka grafis Windows 3.11

Antarmuka material adalah cara untuk berinteraksi dengan komputer menggunakan struktur nyata. Misalnya, mouse komputer atau joystick adalah antarmuka material. Memindahkan mouse di atas meja, kami secara bersamaan memindahkan panah kursor di layar.

Antarmuka Bahan - Mouse Komputer. Foto: DepositFoto.

Antarmuka suara adalah kontrol menggunakan perintah ucapan. Suara manusia hari ini tahu bahkan ponsel. Misalnya, Siri dari Apple, Google Voice Assistant, "Alice" dari Yandex

Antarmuka Suara - Apple Siri. Siri adalah pengurangan dari interpretasi bicara dan antarmuka pengakuan (pengenalan suara dan antarmuka interpretasi). Foto: DepositFoto.

Antarmuka instrumen memungkinkan Anda memberikan perintah, membuat gerakan dengan jari, tangan, mouse komputer, pengontrol khusus, dll.

Interface Instalasi - Konsol Game Nintendo Wii, yang pengendalinya merespons gerakan pengguna.

Antarmuka Tactile memungkinkan pengguna untuk mengalami sensasi taktil (dorongan, getaran, dll.) Dan berinteraksi dengan komputer dengan bantuan mereka.

Sarung tangan realitas virtual - contoh antarmuka taktil. Foto: NASA.

Antarmuka saraf memungkinkan Anda untuk mengirimkan perintah dengan elektroda yang diputar ke dalam otak. Antarmuka saraf dua arah tidak hanya dapat mengambil informasi dari otak, tetapi juga mengirimkannya ke otak - misalnya, melalui retina mata.

Jens Naumann - buta, mampu "melihat" dengan prostesis visual saraf. Kamera menangkap gambar dan mengirimkan versi olahan di kulit visual otak melalui elektroda.

Kian Rivz dalam film "Matrix" (1999). Pahlawan menikmati neurointerface untuk masuk ke realitas virtual - matriks.

CybeBeis - antarmuka dalam bentuk realitas virtual. Bingkai dari film yang fantastis "Johnny Mnemonic" (1995)

Selamat datang, teman! Kata "antarmuka" pada rumor pemilik PC dan telepon, tetapi tidak semua orang mengerti. Kami akan memberi tahu teko, apa antarmuka di komputer dan smartphone, mengapa diperlukan, apa yang terjadi dengan cara menggunakannya dengan benar. Melihat kata ini di situs, dalam deskripsi atau dalam instruksi, pendatang baru akan memahami apa yang kita bicarakan dan apa yang harus dilakukan selanjutnya.

Gelombang

Apa antarmuka yang dibutuhkannya

Diterjemahkan dari antarmuka bahasa Inggris - interaksi. Cara menulis dalam bahasa Rusia: Antarmuka (kadang-kadang infab ditulis - itu salah). Definisi normal adalah batas umum antara dua objek fungsional. Misalnya, seorang pria berada di belakang kemudi mobilnya, mengganti tuas gearbox - ini adalah interaksi dengan sistem antarmuka mesin. Gearbox sebagai konduktor antara pengemudi dan mobil.

  • Dalam ilmu komputer, arti kata lebih dalam adalah alat interaksi pengguna dengan permainan, program, atau sistem operasi, metode pengoperasian operasi mesin komputasi. Berkat antarmuka, seseorang akan mencari tahu program atau editor teks apa pun. Jika kita memiliki pekerjaan dengan editor grafis cat, mudah untuk menguasai program serupa lainnya, karena mereka memiliki struktur yang sama.
  • Tugas Antarmuka Dasar:
  • Input dan Informasi Keluaran;
  • perangkat lunak manajemen;

pertukaran data melalui operator eksternal;

Perintah.

Panel belakang unit sistem PC juga merupakan antarmuka yang memungkinkan Anda untuk menghubungkan perangkat lain.

Pengguna termasuk komputer dan melihat ikon di depannya: "Komputer Saya", "Label", "Foto", dll. - Semua elemen antarmuka ini.

Jenis antarmuka

Antarmuka dapat digambarkan secara singkat sebagai clearance: apa yang dilihat seseorang di depannya, menggunakan PC atau telepon. Meskipun pada kenyataannya, ini adalah struktur sistem, karena dengan menekan tombol dengan mengklik item menu, pengguna pergi ke tempat yang dibutuhkan: kamera, galeri, pesan. Tujuannya adalah penggunaan perangkat atau situs elektronik yang efektif dan menyenangkan.

Video.

  • Ada berbagai jenis antarmuka, yang masing-masing akan kita ceritakan lebih lanjut.
  • Yang paling umum:
  • garis komando;
  • Antarmuka grafis dan teks;
  • berdasarkan jenis manajemen (gesturing, suara, taktil dan saraf);
  • program;
  • perangkat keras;
  • perangkat keras Perangkat Lunak;
  • pengguna;
  • Web;
  • permainan;

bahan;

Garis komando

di telepon.

Apa kata-kata sederhana antarmuka

Jika Anda perlu memberi nama dan daftar jenis antarmuka modern, informasi ini akan membantu menetapkan semuanya dengan benar dan membuat presentasi yang baik.

Ini adalah perangkat lunak terpisah yang merupakan bagian dari Ourser dan memastikan hubungan antara pengguna dan OS. Berkat command prompt, Anda dapat melakukan perintah komputer. Ini adalah komunikasi dengan mesin dalam bahasanya.

Kekurangan - Anda perlu mengetahui perintah, setiap kali Anda memanggil mereka tanpa satu kesalahan. Keuntungannya adalah kemampuan untuk memasukkan perintah tanpa partisipasi struktur grafis, yang memberikan peluang tambahan.

Baris perintah (antarmuka konsol) dimulai dengan cangkangnya, misalnya, di BIOS. Rute utama lokasinya: C: \ windows \ system32 \ cmd.exe. Yowser biasa tidak perlu disengaja di mana baris perintah berada dan cara kerjanya, dan untuk profesional itu adalah alat utama, karena membantu dengan komputer dengan virus, restorasi Windows dan dalam kasus lain.

Metode sederhana untuk menemukan baris perintah: Pada saat yang sama tekan tombol Win + R, di jendela CMD yang muncul.

Antarmuka perintah.

Grafis dan teks

  • Grafik (Eng. Antarmuka pengguna grafis, GUI) digunakan dalam semua operasi, di sebagian besar aplikasi. Seringkali disebut WIMP - ini adalah singkatan dari huruf pertama dari kata WordWow, ikon, menu, perangkat penunjuk (perangkat manipulasi).
  • Elemen Utama:
  • Tidak bisa;

daftar;

Piktogram (gambar, skema).

Pada Windows Windows, pengguna mengklik ikon, piktogram yang menggambarkan program dan file adalah antarmuka grafis, yang menyediakan peluang yang cukup untuk setiap pengguna. Tidak perlu memasukkan perintah apa pun. Untuk interaksi yang mudah, mouse komputer digunakan.

Anda perlu membedakan grafik dari antarmuka visual, yang mewakili sistem sebagai seperangkat gambar visual - dapat berupa ikon atau prasasti yang terletak di lokasi layar tertentu. Struktur visual tidak selalu menggunakan pemetaan grafis. Struktur visual dapat grafik dan teks.

Penggunaan teks saat memasukkan dan memberikan informasi, satu set huruf / angka, karakter pseudographic. Ini menggunakan semua elemen desain grafis dasar: kotak centang, tombol dropping, dll. Berbeda dengan sumber daya teknis yang menuntut kecil, data kecepatan tinggi. Antarmuka teks adalah jenis pengguna, sedangkan baris perintah adalah bagian dari teks.

Dalam kasus paling sederhana, antarmuka teks menggunakan baris perintah, tetapi banyak program dengan elemen interaktif membuat desain yang lebih ramah, dapat dimengerti, yang mendekati kenyamanan untuk grafis.

Beberapa program mendukung sistem jendela yang dikembangkan, seperti Turbo Vision, D-flat, ccape, banyak yang memiliki topik desain yang dapat berubah (DOS Navigator), serta kemampuan untuk menggunakan item interaksi interaktif yang berbeda (joystick, mouse).

Gesturing, Suara, Taktil dan Saraf

  • Pengguna mengelola komputer dan memberikan perintah dengan metode yang berbeda: gerakan, suara, dll.
  • Oleh karena itu, jenis kontrol dibedakan:
  • Antarmuka tahunan. Elemen kontak adalah tablet grafis, layar sentuh, dan teknologi lainnya yang bereaksi terhadap gerakan jari;
  • Antarmuka suara menunjukkan manajemen pidato. Contohnya adalah: Siri dari Apple, Alice dari Yandex;

Taktil ketika interaksi didasarkan pada sensasi taktil, memperoleh umpan balik sensitif (getaran, push);

Neuronal - Transmisi Perintah melalui Elektroda Linted ke Otak. Informasi dapat diambil dari otak dan mentransmisikannya, misalnya, melalui retina mata. Dalam praktiknya, neurointerface mampu meringankan kehidupan pasien yang lumpuh yang otaknya bekerja dengan baik. Neurointerface memungkinkan mereka untuk melakukan tindakan konkret, membaca niat mereka dengan bantuan elektroda yang terhubung ke otak.

Antarmuka sistem grafis.

Perangkat Lunak, Perangkat Keras, Perangkat Keras dan Perangkat Lunak

  • Sistem antarmuka memberikan kontak bahkan antara prog dan perangkat.
  • Ada 3 grup:
  • Antarmuka pemrograman (Bahasa Indonesia. Antarmuka pemrograman) adalah interaksi program di antara mereka sendiri. Secara khusus, API atau antarmuka pemrograman aplikasi - metode bertukar data antara program komputer (satu mengirim permintaan ke API, merespons lainnya). Portal berita menunjukkan mata uang. Bukan editor bertanggung jawab untuk ini (dia harus mengubah angka) secara manual, dan API di mana situs mengirimkan permintaan ke pertukaran mata uang, menerima jawaban;

Perangkat keras ini dirancang untuk saling berinteraksi dengan satu sama lain dengan slot, konektor, gateway. USB (Universal Sequential Ban) adalah contoh paling akrab. Melalui itu terhubung ke telepon PC, kamera, mouse;

Perangkat keras-perangkat lunak adalah interaksi node, elemen di bawah kendali program.

Antarmuka pengguna

Apa yang dihubungi pengguna apa yang dia lihat di depan dirinya sendiri, di mana ia mengklik - ini adalah antarmuka pengguna. Ini adalah bagian eksternal perangkat atau program yang digunakan pengguna.

Seringkali, di bawah antarmuka kata menyiratkan pengguna (antarmuka pengguna). Kebetulan pengunjung situs mengatakan: "Ada pendaftaran atau menu yang membingungkan dan tidak menyenangkan." Jadi, situs ini tidak nyaman untuk dihubungi: sulit untuk menemukan item yang tepat, checkout pesanan, unduh dokumen. Struktur yang dapat dimengerti adalah ketika seseorang segera melihat di mana mengklik, tahu apa yang akan menyebabkannya. Tetapi dengan Windows, banyak pemula memiliki masalah, karena desain survei OS ini, pengguna yang tidak berpengalaman bingung dalam pengaturan. Di platform 1C, dua mekanisme antarmuka pengguna yang berbeda digunakan pada klien 1C yang berbeda.

Baris perintah, grafik, teks, suara, gesturing, taktil, saraf, prosedural - semua ini termasuk dalam antarmuka pengguna. Di bawah kendali, pengguna memasukkan data dalam PC, informasi pada monitor ditampilkan, printer. Bahkan ada antarmuka spreadsheet - ini adalah elemen yang dilihat seseorang, berjalan, misalnya, aplikasi OpenOffice.org Calc.

Tetapi ada beberapa jenis antarmuka pengguna.

Antarmuka perangkat keras

Web, game

Antarmuka web adalah halaman web (satu atau set) yang mewakili struktur untuk kontak dengan server atau perangkat melalui protokol HTTP dan browser web. Misalnya, klien dapat pergi ke halaman bank, membayar layanan utilitas. Keuntungan utama - tidak perlu menginstal perangkat lunak tambahan, karena sistem operasi berjalan dengan browser. Tidak perlu bingung dengan antarmuka jaringan. Di bawah istilah ini dipahami sebagai perangkat virtual atau fisik, yang dimaksudkan untuk mengirimkan data antar program melalui jaringan komputer (misalnya, VLAN).

Cara populer untuk membuat antarmuka web adalah penggunaan HTML dengan CSS dan JavaScript'a. Juga menggunakan Adobe Flash, Applet Java atau Silverlight.

Jenis lain adalah antarmuka permainan - dikaitkan langsung dengan gamedizayn, meskipun melampaui kompetensinya. Pemain dan gim ini dihuni di alam semesta yang berbeda, dan struktur gaming adalah titik kontak timbal balik mereka. Dengan itu, gamer mendapatkan informasi yang diperlukan dari permainan, dan dibutuhkan tindakan pemain.

Bahan

Antarmuka bahan atau taktil adalah jenis pengguna lain. Ini adalah kontak seseorang dengan elektronik dengan struktur nyata. Misalnya, gerakan mouse yang, seseorang secara bersamaan menggerakkan panah kursor di layar.

Varietas antarmuka

Antarmuka di telepon.

Gaya keseluruhan dari antarmuka perangkat seluler dikarakterisasi sebagai SIMP (layar-ikon-menu-pointer). Pada platform Windows Mobile adalah elemen-elemen dari struktur yang menempati seluruh layar. Transisi antara jendela dilakukan dengan elemen grafis atau menarik dengan jari.

  • Fitur dari desain SIMP dijelaskan oleh spesifikasi OS.
  • OS paling umum untuk gadget:
  • Android;
  • Apple iOS;
  • WindowsMobile;
  • Palm OS;

Symbian OS;

BlackBerry OS.

Rusia populer - Android, Apple iOS, WindowsMobile. Tetapi produsen menggunakan jenis sistem dan blok antarmuka mereka, alasan utama adalah branding. Kemampuan Android untuk penyesuaian berarti bahwa produsen peralatan korporasi dapat membuat perubahan pada perangkat lunak, misalnya, di bidang fungsionalitas dan desain.

Struktur sistemik yang berbeda di perangkat seluler tidak memengaruhi pengalaman pemilik, karena mereka dibuat untuk menyelesaikan tugas universal. Perbedaan dalam set aplikasi.

Antarmuka perangkat seluler juga mencakup jack headphone, pengisian, pembantu suara - banyak dari apa yang didasarkan pada pekerjaan PC, hanya ini yang disesuaikan untuk gadget. Tetapi dalam smartphone ada banyak struktur baru, misalnya, NFC (NFS) - struktur komunikasi nirkabel.

Apa arti bahasa antarmuka

Tidak layak membingungkannya dengan bahasa yang diinstal saat mengetikkan bahan teks.

  • Bahasa antarmuka adalah yang digunakan saat memuat operasi, dalam menu, di kotak dialog, kesalahan Windows dan referensi. Ini dapat diubah jika setidaknya 1 tambahan dipasang ke bahasa utama.
  • Cara sederhana untuk mengetahui windows bahasa mana yang berdiri di PC:
  • Buka "Control Panel";

Tab "Bahasa";

Mengalokasikan bahasa utama yang digunakan sekarang. Itu dapat diubah atau tambahkan yang baru.

Temuan

Untuk seseorang, antarmuka adalah dasar untuk bekerja dengan PC atau telepon. Dan ini adalah cara untuk berinteraksi antara program dan peralatan. Kesederhanaan struktur sistem tergantung, apakah mudah untuk mengelola perangkat. Pengembang datang dengan desain dan struktur yang berbeda, membuatnya lebih atau kurang menyenangkan, intuitif bagi orang-orang. Para ahli dapat membuat perubahan pada beberapa struktur atau menggunakannya untuk menyelesaikan tugas-tugas serius, dan pengguna yang tidak berpengalaman dapat membeli sendiri perangkat dengan sistem antarmuka yang intuitif untuk memfasilitasi pekerjaan dan menghemat waktu.

Antarmuka sering dikatakan ketika mereka berarti interaksi seseorang dan komputer atau aplikasi. Dalam artikel kami akan menganalisis definisi antarmuka, yaitu untuk interaksi, tipe dan fitur mereka.

  • Apa antarmuka

  • Antarmuka adalah "konduktor" antara manusia dan program, sistem operasi, perangkat teknis, atau metode interaksi antar aplikasi di antara mereka sendiri. Seseorang memberikan perintah menggunakan antarmuka, perangkat menganalisisnya dan merespons. Tugas utama yang dimaksudkan untuk:

  • Masukkan dan menampilkan informasi (suara, gambar);

  • Manajemen aplikasi individu;

pertukaran data dengan perangkat lain;

Jenis antarmuka

Interaksi dengan sistem operasi.

Garis komando

Antarmuka melibatkan interaksi tidak hanya manusia dan teknologi, tetapi juga program komputer, program program, perangkat komputer. Misalnya, ketika perangkat terhubung ke unit sistem komputer, karena metode interaksi menggunakan konektor.

Beberapa jenis interaksi memungkinkan Anda untuk mendapatkan lebih banyak kontrol atas komputer atau smartphone, tetapi memerlukan keterampilan tambahan. Yang lain lebih nyaman, tetapi memberikan lebih sedikit peluang. Setiap jenis memiliki karakteristiknya sendiri.

Baris perintah (antarmuka konsol) dimulai dengan cangkangnya, misalnya, di BIOS. Rute utama lokasinya: C: \ windows \ system32 \ cmd.exe. Yowser biasa tidak perlu disengaja di mana baris perintah berada dan cara kerjanya, dan untuk profesional itu adalah alat utama, karena membantu dengan komputer dengan virus, restorasi Windows dan dalam kasus lain.

Melalui baris perintah, Anda dapat melakukan jumlah maksimum operasi adalah cara langsung untuk berkomunikasi dengan sistem operasi. Untuk mengetikkan perintah, Anda perlu memasukkan teks di komputer dan tekan Enter, komputer akan mulai tampil.

Metode minus adalah hanya cocok untuk pengguna terlatih. Di baris perintah, tidak ada elemen grafis bantu, itu harus menguasai bahasa untuk interaksi, dan perintah-perintah yang berfungsi tidak dapat keliru.

Grafik menyederhanakan interaksi dengan komputer, jauh lebih mudah untuk bekerja dengannya dan lebih nyaman daripada dengan teks. Dalam peran antarmuka grafis, elemen-elemen tersebut adalah:

Dalam kasus paling sederhana, antarmuka teks menggunakan baris perintah, tetapi banyak program dengan elemen interaktif membuat desain yang lebih ramah, dapat dimengerti, yang mendekati kenyamanan untuk grafis.

Misalnya, ketika berinteraksi dengan Windows menggunakan ikon dan Windows, mouse terhubung untuk masuk. Di smartphone, perangkat input adalah tampilan layar sentuh.

Antarmuka teks tidak menggunakan gambar: perintah yang diberikan menggunakan teks dan informasi disediakan dalam bentuk teks.

Interaksi gesture memungkinkan Anda untuk memberikan perintah untuk gerakan jari. Ini diterapkan saat bekerja dengan layar sentuh dari smartphone. Misalnya, gerakan "naik" membuat jendela sembulan muncul.

Antarmuka suara adalah manajemen suara. Gadget mengenali dan melakukan perintah suara.

Taktil ketika interaksi didasarkan pada sensasi taktil, memperoleh umpan balik sensitif (getaran, push);

Taktil menyiratkan interaksi dengan bantuan menyentuh: getaran atau sensitivitas untuk menekan.

Antarmuka saraf mentransmisikan perintah langsung dari otak ke komputer, untuk ini, elektroda ditanamkan ke dalam otak. Ini digunakan dalam kedokteran: jadi orang yang lumpuh dapat berkomunikasi dengan dunia luar.

Perangkat keras ini dirancang untuk saling berinteraksi dengan satu sama lain dengan slot, konektor, gateway. USB (Universal Sequential Ban) adalah contoh paling akrab. Melalui itu terhubung ke telepon PC, kamera, mouse;

Interaksi program satu sama lain menyediakan antarmuka perangkat lunak. Program mengirim permintaan satu sama lain dan menerima jawaban. Misalnya, untuk terus menunjukkan cuaca yang relevan dalam widget atau di komputer, satu program terus-menerus mengirim permintaan ke yang lain, dan menyediakan data baru.

Perangkat keras ini ditujukan untuk organisasi komunikasi antara perangkat fisik melalui konektor dan slot. Dan ketika komputer membaca informasi dari hard disk - ini adalah pekerjaan bersama dari program dan perangkat fisik, yaitu, antarmuka perangkat keras dan perangkat lunak.

Semua, dengan mana pengguna biasa berinteraksi ketika menyertakan komputer, memasuki situs web atau dalam aplikasi, semua yang dilihat seseorang di layar adalah antarmuka pengguna.

Web, Situs Game

Cara populer untuk membuat antarmuka web adalah penggunaan HTML dengan CSS dan JavaScript'a. Juga menggunakan Adobe Flash, Applet Java atau Silverlight.

Antarmuka web memungkinkan Anda untuk bekerja melalui browser. Ini adalah interaksi program di Internet. Misalnya, Anda dapat pergi ke situs web toko dan membayar pembelian. Browser dalam hal ini akan menjadi antarmuka web, berkat halaman mana yang berinteraksi.

Bahan

Gim ini adalah bagaimana pengguna dapat berinteraksi dengan permainan yang dapat diberikan perintah, dalam bentuk apa informasi permainan disajikan dan bagaimana permainan akan merespons tindakan.

Apa yang seharusnya menjadi antarmuka

Ini adalah kontak taktil dengan gadget. Ini termasuk menyentuh layar sentuh, tindakan dengan mouse atau joystick.

Struktur basis data logika (DDL).

Smartphone menggunakan layar sentuh yang menyiratkan antarmuka gesturing dan taktil. Pengguna menyentuh elemen, sistem operasi atau aplikasi menerima perintah dari itu dan melakukan mereka.

Добавить комментарий