热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SenchaTouch学习使用心得Unit1搭架构

本文介绍了SenchaTouch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。

本文献给那些看不懂官方API,接着又被网上被转载N遍的论文折磨N遍的苦逼的程序猿们。

事先声明:由于本人做线上webapp,所以本文不包括打包操作。如phonegap等JAVA操作.

由于Sencha Touch主要使用的是MVC模式,所以本文直接以MVC模式开始我们的路程。个人认为不应用MVC模式的Sencha Touch是没有意义的,况且从MVC学习ST的话更为系统化。简单,易懂,高端,大气,上档次!前提你要知道MVC模式.

Chapter 1:搭架构

   创建Web工程,添加SenchaTouch类库,不用非要按部就班的CMD创建工程,因为就算创建出来了对于初学者来说也不明白,所以对于初学者来说一步一步搭建SenchaTouch项目的框架是比较有好处的。下图是对SenchaTouch一个比较干净的引用。作者只用到了官方提供的CSS样式如官方样式表、苹果样式表、安卓样式表、黑莓样式表(日后应该会有WP7)很强大,直接link,就可改变全局风格。注意到了么,工程中有一个Index.html,我们要拿这一个页面实现所有项目内页面的实现,可能现在有些蒙,但看完下文你就会明白,这就是SenchaTouch的强大之处(Extjs也可以吧)。(额外提一点:不管是学习新东西还是遇到阻碍,切记要坚持,可谓锲而不舍,金石可漏。说不定你就突然开窍了)

    Index.html里只引用三个文件.app/app.js文件下面讲解

    HTML的声明要写成DOCTYPE HTML>,这才是HTML5的声明.(不知道SenchaTouch是基于HTML5的就悲剧了)


Chapter 2:了解MVC(核心)

    此MVC是由JS编写的纯JS MVC。之前有人问过我,居然不知道,惭愧之极。JS MVC编写比较困难的地方就是全部文件都需要自己编写(类似MVC引擎吧HTTP机制),不过看清之后还是比较简单的,毕竟和ASP.NET MVC架构还是差的比较多的.坑爹Framwork老更新,无奈上了不归路,学无止境啊.

    说了是MVC嘛,要有一个入口文件(route),开始编写app/app.js文件.脑子里想着OPP就好了.加载视图,控制器(全部),实体(全部),数据源(全部)。视图可以只预加载应用程序启动时的特定页面,其他页面可以在控制器里按需创建加载。其他必须全部预加载。如引用的是Sench-touch-all.js,View中可以不用预加载页面组件如文本框等。

如引用的是Sench-touch.js,View中组件需事先加载.例:requires ['Ext.MessageBox'],

目前先用不到Model和Store,先注释枪毙,其他应该能看明白.

做的例子是查询显示功能。两个页面,两个控制器。由于是学习阶段,所以我们用一对一关系,一个控制器对一个视图操作,思路清理后可以正常一对多关系解决。

//启用自动加载
Ext.Loader.setConfig({
    enabled: true
});
//应用程序入口
Ext.application({
    //应用程序名(命名空间)
    name: 'ST',
    //requires ['Ext.MessageBox'],  //预加载(如采用sencha-toucha.js需要预加载)
    //需要加载的View
    views: ['query'],
    //数据模型
    //models: ['ST.model.Unit'],
    //数据存储
    //stores: [ 'ST.store.Units'],
    //需要加载的控制器
    controllers: ['query', 'QueryList'],
    //应用程序启动
    launch: function() {
        Ext.create("ST.view.query", {
            fullscreen: true
        })
    }
});

多多指教......

期待下文......


推荐阅读
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
author-avatar
林姗飘零1999
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有