Апплет — это приложение, которое не нужно загружать и устанавливать, что реализует мечту наносить «щупальцы и», и пользователь может открыть приложение. Он также отражает концепцию «бега», пользователи не должны заботиться, если они устанавливают слишком много приложения. Приложение будет везде, готовым к использованию, но не нужно устанавливать удаление.
2. Анализ знаний
Маленькая процедура Особенности:
1.H5 — это открытое стандартное спецификацию, сделанное W3C, а WeChat Applet является собственным закрытым спецификацией Tencent.
2. Операционная среда отличается, H5 открыта, может работать в любой стандартный контейнер H5 (браузер и т. Д.), WeChat Applet относительно закрыта, может работать только в WECHAT (теперь это), но будущее должно быть все более и более развито Отказ
3. Метод развития отличается. H5 — это веб-страница. Все технологии веб-разработки могут быть применены к разработке H5. WECHAT APPLET должен соответствовать формулировке WECHAT. Из фактического опыта разработки будьте больше похожи на апплет WECHAT, но не нужен такой сильный совет.
4. Полученные разрешения различны, H5 заключается в этой песочнице в браузере. Но WECHAT может дать WECHAT APPLET более специальные разрешения, такие как запись, видео, компас, подмета, шаблон, сообщение об обслуживании клиентов, совместное использование и т. Д., Все они бесшовные с WECHAT. В WeChat WeChat Applets не сомневаюсь, что опыт H5, в дополнение к не поддерживает долгого пресса для определения QR-кода.
Как сделать небольшую программу?
Процесс есть Пять шагов: зарегистрировано — Сертификация — Исследования и развитие — Рассмотрение — релиз 。
1. В настоящее время личное не может зарегистрировать небольшую программу Это разрешено только присоединиться к компаниям, правительствам, СМИ и всевозможным организациям, то есть у вас должна быть деловая лицензия. Потому что «личные» неконтролируемые факторы, мы знаем, что WeChat — очень строгое команда.
2. Категория: В дополнение к сбору азартных игр яд, вы не должны делать, викторины, ничья, черта фортуны, лотерею, созвездие Фортуна также запрещено.
3. Стоимость небольших процедур относительно высока. Отказ Где я нахожу небольшую процедуру разработки инженера? Опыт и знания передних разработчиков (Make App, JS) могут использоваться непосредственно в небольшой разработке программы; Разработка небольших программ Server и H5 、 App Нет разницы между разработкой сервера.
4. Инструменты развития: должен использовать официальный разработчик Wechat Compilation Package. Когда вы стучаете коду, используйте в каком редакторе. В настоящее время смарт-наконечники WeChat Appler не очень хороши, но апплет такой огонь, я считаю, что это будет все более и более улучшенным. Поскольку отношения между апплетом и связыванием WECHAT личные чувства лучше использовать официальные инструменты.
5. «Социальная медицинская карта» представлена, когда она является внутренним тестом, а аудит очень быстро. Это более быстрее, чем относительный обзор. Аудит немного ямы , Потому что отказ обычно очень расплывчатый , такой как «Кнопки не могут нажать», но не понятно, какая кнопка. Кроме того, насколько мне известно , Текущее участие апплета — человек в команде WECHAT. Базовый Каждая кнопка будет , От этой точки , WECHAT очень важен для апплета 。
4. Решение
5. Код фактического боя
Ссылка Малый программный код
6. Разверните мышление
1. Будущее малой процедуры
Подчеркивать : Сцены и услуги Отказ Несколько примеров, Тонорписная поездка прямо в достопримечательностях, положите небольшую программу QR-код , Посетители могут приобрести билеты в небольшой программе Запрос информации общественного транспорта, Автобус Стоп остановка знака Установите двумерный код , Жду машины Я могу знать динамику автобуса ; Больница, ) в памяти того места, где начинается этот блок.
Как создать программу «ЧАСЫ» в блокноте
Уроки C# / Как сделать первое Windows приложение
Для нашего кода это выглядело бы примерно так:
async function loadAndRun() < // lets get things loaded let interpreter = await loadwebAssembly(«interpreter.wasm»); let simpleProgramBytes = await loadBytes(«simple.wasm»); // create views of our data as bytes let bytesToCopy = new Uint8Array(simpleProgramBytes); let memory = new Uint8Array(interpreter.memory.buffer); // allocate space in our interpreter for the program let ptr = interpreter.malloc(bytesToCopy.length); // reaquire handle to memory because malloc changed it memory = new Uint8Array(interpreter.memory.buffer); // copy the bytes of our program into interpreter memory memory.set(bytesToCopy, ptr); // signal our interpreter to run given the location // and length of our web assembly program we copied over let result = interpreter.run(ptr,bytesToCopy.length); window.alert(«the result is «+result); >

Отлично, теперь у нас есть способ загрузки байтов программы simple.wasm в программу веб-сборки интерпретатора! Из нашего JavaScript мы видим, что нам нужно написать некоторые функции внутри нашего интерпретатора:
#[no_mangle] fn malloc(size:usize) -> *mut u8 < . >#[no_mangle] fn run(ptr:usize, len:usize) -> f64
Написание переводчика
Теперь к настоящему делу! Давайте сначала напишем базовый malloc
#[no_mangle] fn malloc(size:usize) -> *mut u8 < let mut buf = Vec::::with_capacity(size as usize); let ptr = buf.as_mut_ptr(); core::mem::forget(buf); ptr >
В основном мы создаем вектор байтов, получаем указатель на его раздел данных, а затем забываем о векторе, чтобы его не было освобождено. Наша задача будет состоять в воссоздании вектора, когда мы перейдем к интерпретации приложения после того, как JavaScript загрузился в байтах of simple.wasm .
#[no_mangle] fn run(ptr:usize, len:usize) -> f64 < let wasm_bytes = unsafe < Vec::from_raw_parts(ptr, len, len) >; // Magic happens here! let result = . // return the result of our interpreted execution of «run» result >
Как это круто! Теперь нам ничего не мешает. Следите за обновлениями во второй части, где мы погрузимся в разбор разделов нашей очень маленькой программы веб-сборки и разбор частей, относящихся только к вызову main . Посмотрите код здесь.
[Обновление] Часть 2 выпущена здесь.
Источник: digitrain.ru