ruby只能做服务端也就是后端开发,前端依然需要使用javascript+css
不过javascript也可以用作后端开发,那就是nodejs
这个问题貌似主要是flex与后端服务器通信的问题,和后端服务器的具体实现关系不大。另外不了解flex开发iphone程序是否有什么限制,只是按题面的意思查了一些资料,并且发现自己无法更好的组织相关内容,只好凭个人感觉说说,请真正的高手指教。
先说Flex和服务器端的通信方式有四种,
HTTPService类用于超文本传输协议(HTTP)实现与服务器的通信。
RemoteObject类可以与服务器之间通过ActionScriptMessageFormat(AMF)对象进行通信。
WebService类与web服务进行通信,使用基于SOAP的XML或XML,web服务通过web服务描述语言(WSDL)定义其接口。
Socket类可以实现直接与应用程序进行通信,而不必在Web的基础上,通信的方法与JAVA或.NET之间进行Socket的方法大致上是一样的。
如果在iphone上这四种通信方式都可以实现,那谈及易用和高效的选择时主要还是看前端与后端交互的平均数据量的大小和数据类型的复杂度。否则只在可以实现的通信方式内做以下分析:
一、数据量较小,且类型简单
1 就是最简单的,3 其次
二、数据量较小,且类型复杂
3 可能是最简单的,2 其次
三、数据量较大,类型不论简单或复杂
2 和 4 可能更为适用
1 后端开发语言包括但不限于(php, python, java, scala, go, ruby) 之一。 能够使用一门或者数门语言构造大型应用。
2 运维
了解 (ansible, salt, puppet)等自动化运维技术, 了解docker, 熟练掌握shell脚本处理线上问题
3 安全
知道各种安全攻击方式(xss, csrf, sql注入) 代码实现能够规避常见的安全漏洞, 处理各种网络攻击事件
4 数据库
知道常见的数据库的优化以及运维,能够分析sql并且调优使之满足性能
5 网络编程
了解linux的网络模型epoll, 熟练掌握http, tcp/ip协议,并且能够通过抓包方式debug。 熟练掌握linux, 能够在高兵法场景下通过优化内核解决问题。
6 大数据
了解 (hadoop/storn/spark)技术栈, 能够使用大数据技术栈解决常见的大数据问题
7 算法和数据结构
知道常规的算法和数据结构,通过分析代码能了解架构的计算复杂度和性能,并针对性做出优化
8 机器学习算法
知道常见的机器学习算法,能够使用机器学习和深度学习解决一些人工智能问题,比如聊天机器人, 反spam, 机器推荐等
9 搜索引擎
掌握elasticsearch solr等开源搜索引擎,能够搭建搜索引擎实现各种搜索以及排序任务