{"id":17104304,"url":"https://github.com/keyang/jqmvc","last_synced_at":"2025-03-23T20:12:08.060Z","repository":{"id":66183453,"uuid":"2489558","full_name":"Keyang/JQMVC","owner":"Keyang","description":"Another pretty MVC framework for Javascript.","archived":false,"fork":false,"pushed_at":"2012-05-30T12:20:21.000Z","size":2839,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-29T03:35:18.863Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Keyang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-09-30T14:30:51.000Z","updated_at":"2019-02-19T14:10:30.000Z","dependencies_parsed_at":"2023-02-20T00:00:28.503Z","dependency_job_id":null,"html_url":"https://github.com/Keyang/JQMVC","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keyang%2FJQMVC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keyang%2FJQMVC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keyang%2FJQMVC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keyang%2FJQMVC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Keyang","download_url":"https://codeload.github.com/Keyang/JQMVC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245162194,"owners_count":20570692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T15:36:15.210Z","updated_at":"2025-03-23T20:12:08.021Z","avatar_url":"https://github.com/Keyang.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"#JQMVC\n\nAnother pretty and neat opensource MVC framework for Javascript!\n\n## Introduction\n\n![JQMVC](https://github.com/Keyang/JQMVC/wiki/images/MVC.png)\n\nJQMVC is a highly extendible MVC framework for Javascript based environment. \nThe power of JQMVC is it keeps same code style for different Javascript environment such as Browsers, Node.js etc. \nThe core of JQMVC is highly abstracted standard MVC pattern.  \nBesides, it allows developers to add self-defined plugins to support more view typs and proxies types.\n\nJQMVC helps developers to develop complex Javascript based applications such as:\n\n* Hybrid Mobile Application (Feedhenry or PhoneGap based apps)\n* Web Application\n* Web Os Application\n* Node.JS Application (Under development)\n\nWith simple and elegant syntax, Javascript Application is no longer a nightmare. \n\n## Platform Support\n\n### Browsers \u0026 Mobile Browsers\n\n* IE7+\n* Firefox\n* Chrome\n* Safari\n* Opera\n* Android Browser\n* iPhone Browser\n* Blackberry Browser\n* Windows Phone 7/8 IE\n* WebOs\n\nFor testing/debug stage, It is recommended to run apps \nin a web server even there is no web server concerned due to [Local File Access Denied In Chrome](http://groups.google.com/a/googleproductforums.com/forum/#!category-topic/chrome/give-feature-feedback-and-suggestions/v177zA6LCKU)\n\n### Node.JS\n\n*Coming Soon...*\n\n## Start Tutorial\n\n### Hello World \n\nJQMVC apps work best when they follow the simple application structure guidelines.\nThis is a small set of conventions and classes that make writing maintainable apps simpler, especially when you work as part of a team.\n\n#### Step 1 -- Set up Project Structure\n\nBasically, it is recommended to initiate your app with following structure:\n\n![Project Structure](https://github.com/Keyang/JQMVC/wiki/images/projectstructure.png)\n\n\nFor each elements in the structure above, please checkout [example: 0-AppStructure](https://github.com/Keyang/JQMVC/tree/master/example/0-AppStructure) for details.\n\nThe structure could be different due to requirement, configuration, and developer code style.\n\nYou could download an empty project structure above [here](https://github.com/Keyang/JQMVC/wiki/resources/0-AppStructure.zip)\n\n#### Step 2 -- App Implementation\n\nindex.html\n\n\t\t\u003c!DOCTYPE html\u003e\n\t\t\n\t\t\u003chtml\u003e\n\t\t\t\u003chead\u003e\n\t\t\t\t\u003ctitle\u003eHello World\u003c/title\u003e\n\t\t\t\t\u003cscript type=\"text/javascript\" src=\"http://code.jquery.com/jquery-1.7.1.min.js\"\u003e\u003c/script\u003e\n\t\t\t\t\u003cscript type=\"text/javascript\" src=\"https://raw.github.com/Keyang/JQMVC/master/bin/jqmvc_html_debug.js\"\u003e\u003c/script\u003e\n\t\t\t\t\n\t\t\t\t\u003c!-- Application Configuration File --\u003e\n\t\t\t\t\u003cscript type=\"text/javascript\" src=\"./app/app.js\"\u003e\u003c/script\u003e\n\t\t\t\u003c/head\u003e\n\t\t\t\u003cbody\u003e\n\t\t\t\t\u003cdiv id=\"pages\"\u003e\u003c/div\u003e\n\t\t\t\u003c/body\u003e\n\t\t\u003c/html\u003e\n\n\nAbove code introduces jQuery Library and JQMVC library online (you could import them from local folder as well)\n\nThere is only one \"div\" tag with id \"pages\" in body. This tag indicates JQMVC library where to render view pages.\n\nNext, let's take a look at what is inside ./app/app.js\n\n./app/app.js\n\n\t\tmvc.app.init({\n\t\t\tlaunch:function(){\n\t\t\t\t//App lauched!\n\t\t\t\tmvc.view(\"helloWorld\").show();\n\t\t\t}\n\t\t});\n\nAccording to code above, once app is launched, one line of code is executed:\n\nIt gets a view with name \"helloWorld\" and shows the view. The code is quite stright forward but\nyou could be curious how the view \"helloWorld\" will be rendered. \n\nNext, add following content to ./app/views/helloWorld.html\n\n./app/views/helloWorld.html\n\n\t\t\u003ch1\u003eHello JQMVC\u003c/h1\u003e\n\nThe one line of code in app.js above will pull the content in helloWorld.html and render it in index.html\n\n#### Step 3 -- Run\n\nTo run the App above just simply open index.html in any web browser. It is recommended to run it \nin a web server due to [Local File Access Denied In Chrome](http://groups.google.com/a/googleproductforums.com/forum/#!category-topic/chrome/give-feature-feedback-and-suggestions/v177zA6LCKU)\n\n\n**Checkout the example code [here](JQMVC/tree/master/example/1-helloworld)**\n\n\nFor more information, please navigate to the [wiki page] (https://github.com/Keyang/JQMVC/wiki/_pages)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeyang%2Fjqmvc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeyang%2Fjqmvc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeyang%2Fjqmvc/lists"}