网上关于AngularJs(https://angularjs.org/)的介绍与好处已经相当多了,大家可以自己去搜索看看,很多很多。

1.疯狂的原生的App开发

在这里我主要谈一下我自己为什么要使用AngularJs。2011年我开始接触IOS编程,发现苹果的App体验真的非常棒,自己也跟着教程做了几个应用得到了身边的朋友的一致好评论,随后接触了一些企业老板,由于我只会IOS开发,所以答应他们先从苹果端先开始,若运行不错,再开发Android版本,项目没有花太久就完成了,Boss们也很满意,但随之而来就是要开发Android版本,Winphone版本,苹果还好当初也只有一个Ihone4,Iphone4s,屏幕都是3.5的屏,Android就不一样了,2.0-6.0的屏若干,但解决办法是有的,不同的分辨率让美工做不同尺寸的图片,话说问题也解决了,我为什么还要选择AngularJs呢?

最关键的问题就是成本与时间!

  • 一个苹果IOS开发要学会ObjectC,一个Android开发要学会Java,我一个.NET程序员要学习这么多的语言,成本不小啊;
  • 企业的应用通常不复杂,说白了移动应用就是一个小型的企业展示网站(当然根据功能来),一个简单的应用你一下子收人家几万,甚至几十万,人家傻啊;
  • 企业通常会频繁的更新与改版,这对Android与IOS开发与维护来说,简直就是一场灾难,本来收的钱就少,这一改就是动全身啊;

2.基于Html5的hybird mobile apps开发

能不能有这样一个解决方案,我开发一套系统就能在三个主流移动平台上运行呢,以后改版的事情说白了就是网页那套原理,服务器的站点内容换了,用户手机上的版面也换了,这样对于商家与我们开发人员来说那是多么的美好,节约了开发时间不说,还赚了不少$,省下的时间可以帮妈妈洗洗碗,陪朋友逛逛街,看看电影,打打游戏…

具体是哪一天也记不清楚了,有一次在网上无意发现了一个网站http://ionicframework.com/(目前还是beta版,已很强大)可以高仿原生App开发,至少样子做到了,案例我们以后会专门介绍。先上官方的一些效果:http://codepen.io/ionic/tag/ionic/,不得了这么好的效果,是用什么实现的呢,把官方网站好好阅读了一下,原来是基于AngularJs自己包装了若干的Directive,关于AngularJs的介绍我们会在接下来慢慢和大家分享。一个页面就可以展示出CRUD,一个页面就能把一个企业展示应用体现出来,又是MVVM的,又是模型双向绑定,太多太多的好处,以后慢慢说!

有人说我不用AngularJs+Ionicframework不也照样开发出一套html5移动界面,而且效果很好啊,这个我不否认,BAT公司都有自己的JS框架与Css框架,对于我等这些草根程序员用一个高富帅的JS框架与CSS框架,省了多少时间,最关键的是用户体验好啊,21世纪说的最多的词就是用户体验了(闲话,路自己选 的,不强求一定用AngularJs和Ionicframework)!

3.小结

这就是我为什么选择用AngularJs的原因,一次开发多个版本享用,省去了学习java,oc,.net的成本,美工制作一次界面自适应各种屏幕浏览器,您为什么不去选择呢?

001.为什么选择用AngularJs开发?的更多相关文章

  1. 实践分享:开始用Cordova+Ionic+AngularJS开发App

    http://www.cocoachina.com/webapp/20150707/12395.html 本文是一篇关于我本人在使用Cordova+Ionic以及AngularJS开发移动App的过程 ...

  2. AngularJS 开发中常犯的10个错误

    简介 AngularJS是目前最为活跃的Javascript框架之一,AngularJS的目标之一是简化开发过程,这使得AngularJS非常善于构建小型app原型,但AngularJS对于全功能的客 ...

  3. 20个angularjs开发工具

    AngularJS是那些渴望以动态方式来设计web app的web开发人员最偏爱的框架之一.如果你是一个希望启动AngularJS项目的开发人员,那么你可能需要帮助来挑选出趁手的工具…… 在Value ...

  4. AngularJS开发人员最常犯的10个错误

    简介AngularJS是目前最为活跃的Javascript框架之一,AngularJS的目标之一是简化开发过程,这使得AngularJS非常善于构建小型app原型,但AngularJS对于全功能的客户 ...

  5. AngularJs开发——控制器间的通信

    AngularJs开发——控制器间的通信 指令与控制器之间通信,无非是以下几种方法: 基于scope继承的方式 基于event传播的方式 service的方式 基于scope继承的方式 最简单的让控制 ...

  6. AngularJS开发最常犯的10个错误

    简介 AngularJS是目前最为活跃的Javascript框架之一,AngularJS的目标之一是简化开发过程,这使得AngularJS非常善于构建小型app原型,但AngularJS对于全功能的客 ...

  7. 为什么选择H5游戏开发定制?

    为什么选择H5游戏开发定制? 随着微信H5游戏推广带来的显著效果,越来越多的商家已经加入到游戏营销的队伍中来, 对H5小游戏有了解的商家都知道,[模板游戏]的价格往往低于[定制游戏]的价格,可是为什么 ...

  8. 使用 AngularJS 开发一个大规模的单页应用(SPA)

      本文的目标是基于单页面应用程序开发出拥有数百页的内容,包括认证,授权,会话状态等功能,可以支持上千个用户的企业级应用. 下载源代码 介绍 (SPA)这样一个名字里面蕴含着什么呢? 如果你是经典的S ...

  9. AngularJS开发指南16:AngularJS构建大型Web应用详解

    AngularJS是由Google创建的一种JS框架,使用它可以扩展应用程序中的HTML功能,从而在web应用程序中使用HTML声明动态内容.在该团队工作的软件工程师Brian Ford近日撰写了一篇 ...

随机推荐

  1. C#与java中的集合区别

    集合一般的操作       插入: add       删除: remove       查找: contains,remove java中的集合 注意哪些是接口,哪些是实现类 使用集合的时候 1. ...

  2. [置顶] VC++界面编程之--使用分层窗口实现界面皮肤

    使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...

  3. python daemon化你的程序

    在之前的树莓派网关项目中遇到了这样一个问题,由于要把网关写的Server持续运行,尤其是要加电自动开启.发现ssh登录开启服务程序之后,当把pty退出时Server端自动断开了,这里想到的APUE中第 ...

  4. python获取本机IP、mac地址、计算机名

    在python中获取ip地址和在php中有很大不同,在php中往往比较简单.那再python中怎么做呢? 我们先来看一下python 获得本机MAC地址: 1 2 3 4 import uuid de ...

  5. [转] Java中的容器

    在书写程序的时候,我们常常需要对大量的对象引用进行管理.为了实现有效的归类管理,我们常常将同类的引用放置在同一数据容器中. 由于数据容器中存放了我们随时可能需要使用到的对象引用,所以一般的数据容器要都 ...

  6. Hibernate实体对象三种状态

    Hibernate实体对象生命周期: 1. 自由状态(Transient,临时状态,瞬态) 在内存中自由存在,与数据库无关,未被Hibernate的Session管理 2. 持久状态(Persiste ...

  7. 《Android开发艺术探索》读书笔记 (3) 第3章 View的事件体系

    本节和<Android群英传>中的第五章Scroll分析有关系,建议先阅读该章的总结 第3章 View的事件体系 3.1 View基本知识 (1)view的层次结构:ViewGroup也是 ...

  8. SDK目录结构和adb工具及命令介绍

    1.SDK目录介绍: ******************************** add-ons:Android开发需要的第三方文件,附加的库,如Google APIs.GoogleMaps. ...

  9. Android(java)学习笔记226:服务(service)之为什么使用服务

    1.服务 service 长期在后台运行的进程,一般没有应用程序界面   2.进程线程和应用程序之间的关系 应用程序开启,系统启动一个Linux进程,所有的组件都是运行在同一个进程的同一个线程(mai ...

  10. centos7.2下安装mysql5.7,使用rpm包安装

    0.环境 本文操作系统: CentOS 7.2.1511 x86_64 MySQL 版本: 5.7.16 1.卸载系统自带的 mariadb-lib[root@centos-linux ~]# rpm ...