V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yafeilee
V2EX  ›  程序员

Ionic 是下一代 APP 开发框架

  •  
  •   yafeilee ·
    windy · 2015-02-09 16:39:36 +08:00 · 7993 次点击
    这是一个创建于 3562 天前的主题,其中的信息可能已经有所发展或是发生改变。

    继上次写了一篇小说型的技术文章后, 这次写一篇科普描述型技术文章, 讲了一下 Ionic 的出现背景, 以及我对未来 APP 开发的预期.

    这次我就不完整转帖过来了, 自行点击链接吧: Ionic 是下一代 APP 开发框架

    内容摘要:

    最近 Facebook React 团队释出了 React Native, 用来构建 Mobile Native 应用. 非常给力的口号即是标题所指: Learn Once, Use Anywhere.

    我突然觉得, 他们正好把我思想的口号给用去了( 不过我没想到这么美的词 ), 因为我已经在更早的时候就决定要讲一讲 Ionic 了, 这个口号也同样是: Learn Once, Use Anywhere, 但是, 加了一句, For AngularJS.

    开始 Ionic 之前, 我们要先回顾下历史.

    1. Web 领域的历程
    2. 前后端分离的必然原因
    3. 新秀: Ionic
    4. 反哺 Web2.0

    原文链接: Ionic 是下一代 APP 开发框架

    to V友们, 预告下一篇很可能是远程办公实战体验, 我现在正在山脚用 3G 上网发的这个帖子:)

    22 条回复    2015-02-10 11:50:38 +08:00
    yakczh
        1
    yakczh  
       2015-02-09 16:44:15 +08:00
    Ionic 怎么实现通知栏的消息推送呢?
    lingyired
        2
    lingyired  
       2015-02-09 16:45:44 +08:00
    @yakczh Ionic 底层包含 Phonegap (Cordova) ,可以用原生代码写一个 plugin
    my101du
        3
    my101du  
       2015-02-09 16:58:48 +08:00   ❤️ 1
    @yakczh 安装一个localnotification 的cordova plugin,android完美本地推送;ios 8会造成程序闪退,可能是权限问题,添加了一个“启动时弹出通知请求确认”的代码,也没效果(但这段代码我用原生的obj-C是正常的)
    wingao
        4
    wingao  
       2015-02-09 16:59:35 +08:00
    Ionic 确实很赞,值得使用。正在商用中,坑还是挺多的,需要自己填。调试飞起。
    zhicheng
        5
    zhicheng  
       2015-02-09 17:19:20 +08:00
    No Silver Bullet,
    对于 XXX Once,XXX Anywhere,请参考 Sun 公司推出的某著名编程语言。
    windyboy
        6
    windyboy  
       2015-02-09 17:35:45 +08:00
    phonegap的内容不是一个悲剧码?
    CR
        7
    CR  
       2015-02-09 18:09:32 +08:00
    Ionic完全没有办法和React Native相比,前者是一个基于AngularJS的一个扩展,后者是完全把Web编译成为Native code...
    w88975
        8
    w88975  
       2015-02-09 18:50:00 +08:00
    感觉ionic申请什么权限的时候,特难看,一大堆长URL地址请求XXX权限
    zhangxiao
        9
    zhangxiao  
       2015-02-09 19:11:19 +08:00
    有个关于AngularJS的问题想问下LZ,就是SEO的问题怎么解决?
    loading
        10
    loading  
       2015-02-09 19:38:55 +08:00 via iPad
    @zhicheng
    code Once,Debug Anywhere.??
    yafeilee
        11
    yafeilee  
    OP
       2015-02-09 20:38:12 +08:00
    @zhangxiao 这篇文章里正好有一个解决方案, 服务端预渲染: https://prerender.io/, 它是开源的, 你可以用它布署一下就好了.

    主要思路是, 用 `prerender` 来模拟爬虫读取你的 AngularJS 项目, 然后执行其中的 JS, 把结果缓存. 真正的爬虫来的时候就直接将缓存结果发过去.
    crazyxin1988
        12
    crazyxin1988  
       2015-02-09 20:40:06 +08:00
    能不轻言未来么
    坑没踩够么
    yafeilee
        13
    yafeilee  
    OP
       2015-02-09 20:40:51 +08:00
    @CR 我觉得不是, 长远来看, APP的开发模式是要被 Web 的开发模式取代大部分的, 这场变化就跟当年的桌面程序与 Web 程序一样. 如果这个结论你不否定的话, Ionic 这种方式代表更先进的生产方式, 不是吗?
    akeyz
        14
    akeyz  
       2015-02-09 20:43:04 +08:00
    @crazyxin1988 同意
    lanceli
        15
    lanceli  
       2015-02-09 20:45:41 +08:00
    yafeilee
        16
    yafeilee  
    OP
       2015-02-09 20:52:24 +08:00
    @crazyxin1988
    @akeyz 就是现在的 APP 开发方式太搓了, 才要有未来. 你们以为 Facebook 与 Google 的工程师傻吗? 他们没事就自己造轮子, 然后坑你我?

    Swift, React Native, Ionic 都是一种可能.

    当下, 并不是推荐立刻用在你的项目中, 而是可以自己玩玩, 学学, 用用.
    yafeilee
        17
    yafeilee  
    OP
       2015-02-09 20:53:41 +08:00
    @lanceli 多谢补充:)
    dyq917
        18
    dyq917  
       2015-02-09 21:32:37 +08:00
    @yafeilee 第三方登录(qq,weibo之类)有相关好的插件推荐么?
    my101du
        19
    my101du  
       2015-02-09 21:46:35 +08:00   ❤️ 1
    @dyq917 友盟社会化插件phonegap版 http://dev.umeng.com/social/phonegap/specific-integration 社会化分享、登录、评论、喜欢等功能,就是需要再引入一个jquery,体积又变大了一点……
    Dannytmp
        20
    Dannytmp  
       2015-02-09 21:47:40 +08:00
    @zhangxiao ANGULAR适合单页面,SEO不好弄喽
    hkongm
        21
    hkongm  
       2015-02-10 08:38:12 +08:00
    React真是好东西!
    这次出的React Native也很是看好~
    dyq917
        22
    dyq917  
       2015-02-10 11:50:38 +08:00
    @my101du 不错,多谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3010 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:48 · PVG 21:48 · LAX 05:48 · JFK 08:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.