想学习sapui5教程,该怎么入手呢?

当前访客身份:游客 [
当前位置:
本人不了解Linux,也没用过,对C++了解也不是很深,但就是下定决心想学Linux下C++编程了,希望各位前辈给点指导建议,帮我入门吧, 最好从Ubuntu开始,如何在Ubuntu下搭建C++开发环境,初学者用什么工具较好等等。。。
共有7个答案
<span class="a_vote_num" id="a_vote_num_
1. 看一下鸟哥私房菜, 熟悉 linux 基本操作;
2. 学习 APUE , unix 网络编程一二卷
3. 建议使用 红帽, centos,&&Ubuntu
3. 时间充足的话弄一下 LFS& Linux From Scratch&& DIY 一下
&& 国内有个论坛,自己找一下
4. 找个开源软件, 熟读其代码,理解其思想& 如 wget;
5. 有上面的基础后,在学习其他的 速度 那是飞快的;
6. 最后学习蛋疼的内核,直到高潮
--- 共有 1 条评论 ---
非常感谢!
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
强大的Google被你这个问题吓哭了
--- 共有 2 条评论 ---
谢谢,新手上路,见笑了。。。
(2年前)&nbsp&
开个玩笑,其实你问的这些东西,Google一下,教程一大堆,跟着教程做的时候出了问题,继续Google直到问题解决。很多那种Ubuntu下的开发环境+IDE的搭建教程,Just Google it
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
强大的Baidu被你这个问题吓哭了
--- 共有 1 条评论 ---
谢啦。。。新手,让您见笑了。。。
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
无论用什么工具,多看优秀的开源项目,多写一些实用的小工具,总会有好处的。
--- 共有 1 条评论 ---
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
学任何东西都必须先搞清楚几点:
1:这玩意能赚钱么,怎么赚,
2:投资的学习时间有多少,是否值得学习,性价比怎么样,
根据自己实际情况,先了解自身情况和做好市场调查,
就凭你问的这几个问题,个人觉得你不适合学C++,还别说linux下搞C++,当然如果非要学,先不要纠结什么系统,先把C++语法搞通,再来问,
--- 共有 1 条评论 ---
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
引用来自“Silentboy”的答案强大的Google被你这个问题吓哭了 强大的bing也吓哭了、、
强大的搜索引擎们都吓呆了、、
<span class="a_vote_num" id="a_vote_num_
强大的即刻搜索被你吓倒闭了
--- 共有 1 条评论 ---
(2年前)&nbsp&
更多开发者职位上
有什么技术问题吗?
类似的话题SAP公开课札记:基于HANA的软件开发 - 第四周总结
&来源:读书人网&【读书人网():综合教育门户网站】
SAP公开课笔记:基于HANA的软件开发 - 第四周总结?第二章 SAPUI5?这一章的内容其实很多很复杂,因为这涉及到
SAP公开课笔记:基于HANA的 - 第四周总结
?第二章 SAPUI5?这一章的内容其实很多很复杂,因为这涉及到开发HANA XS应用的展现层,而现在所有的应用都前所未有地重视UI UX,包括SAP。但是我本人并不想花太多精力在这上面。我的关注点是HANA。HANA本身已经在2年内发展的太快,有太多新的内容产生,而UI开发并不是我的长处,写JS/AJAX的经历那几乎要回到很多年以前。如果有机会参与到HANA XS应用开发项目中,还是将这些交给更专业的web前端攻城狮吧。:)SAPUI5,以前的开发代号叫凤凰,是专门针对现在的应用趋势开发的最新的UI框架:移动、HTML5、UX 你可以在这了解到大部分信息,如果你想专注于SAPUI5开发?/community/developer-center/front-endSAP以前有一个自己的JS框架,完全自己开发的,叫做unified rendering light speed?/saphelp_nw70ehp1/helpdata/en/74/0beccf62abe/content.htm。之所以叫做unified rendering是因为在HTML5 MOBILITY这些还没有充斥这个世界的时候,SAP将UR LS作为统一的JS框架被所有跟WEB有关的产品使用。比如ITS WEBGUI、BW Web analyzer、BSP等,虽然UR的产生是源于webdynpro。但是有时候IT领域变化太快,进化不如革命,我相信这是又一个SAP JS框架产生的原因。但是,好在我们以前不必了解UR,没人基于UR开发应用,我们基于使用UR的应用,比如webdynpro。而SAPUI5是完全提供给SAP开发者的,不仅供SAP内部使用。另外,SAP近年来终于开始拥抱开源社区。无论是前端产品的eclipse化,还是SAPUI5都能看到这种趋势。SAPUI5的核心是JQuery,除此以外还融合了:OData?http://www.odata.org/LESS?http://lesscss.org/D3.js?http://d3js.org/ARIA?http://www.w3.org/WAI/intro/aria真是一个大融合方案?/docs/DOC-31625?。从我本人的观点,我很高兴看到这样的改变。因为无论自己labs的研发团队多强大也没法在各个领域都是第一,开源社区的智慧是无穷的。SAPGUI5使用的时候可以选择渲染的目标是desktop还是mobile。这基于你的应用需求和选择。在所有HANA SPS05版本开始,就内置了SAPUI5框架,我们可以通过访问hostname:port/sap/ui5/1/sdk/index.html来访问内置的文档,包括developer guide和和政示例代码。最后,SAPUI5的开发环境是基于eclipse的。所以我们可以在一个开发工具里开发HANA模型,XS应用,ABAP和SAPUI5等。在后面的章节会有详细介绍。?第三章 使用SAPUI5创建UI?本章内容并没有包含SAPUI5的安装部分。所以首先我们安装SAPUI5的eclipse插件。SAPUI5可以从/community/developer-center/front-end?下载到。而安装文档可以从SAP NOTE1747308找到。因为我是安装在HANA Studio里,所以我要安装SAPUI5插件依赖的一些其他插件包。这些可以从安装文档的prerequsite一节找到。不过在我的安装中遇到了一些麻烦,因为我使用的HANA Studio rev55而且我又安装了abap development插件,所以有很多冲突。如果想安装一个真正集成化的开发环境,这是一个问题。目前我还没有找到任何文档,类似PAM那种,提示不同SAP插件之间的版本兼容性。 最后我使用了SAP的update site,在线安装了最新的build。插件安装好了以后,就多了一个创建选项:SAPUI5 application development 按照向导创建成功以后,会默认创建以下对象WebContent文件夹,这下面放置要开发的js文件index.html 引导文件,这里面初始化了要加载的SAPUI5库文件。SAPUI5的viewer和controller js文件。SAPUI5是一个MVC的框架,所以熟悉MVC的应该不陌生这些js的概念。viewer里面编写创建可视化组件的逻辑,也就是跟展示相关的。controller里是对view视图响应的一些事件处理函数。而因为SAPUI5是一个前端框架,所以模型一般是一个代理对象,连接后端的数据源,比如netweaver gateway或者HANA。项目创建成功后,首先我们要更改引导文件index.html,因为SAPUI5可以用在很多场合,比如HANA或者netweaver,SAPUI5并没法判断客户到底想基于什么后端开发,而不同的后端SAPUI5 js库文件的位置是不同的。修改script标签的src,指向HANA SAPUI5 js库文件的位置?&script src=”/sap/ui5/1/resources/sap-ui-core.js”viewe文件源代码,js攻城狮们研究去吧sap.ui.jsview(”sapui5.HelloWorld”, {getControllerName : function() {return “sapui5.HelloWorld”;},createContent : function(oController) {var myButton = new?mons.Button(”btn”);myButton.setText(”Hello World”);myButton.attachPress(function(){$(”#btn”).fadeOut();});return myB}});之后共享这个SAPUI5,如我们在之前创建HANA开发项目一样。只不过我们可以指定一个package,而这个package可以是之前创建的HANA开发项目的一个文件夹。我在这里最开始指向了一个空的package,结果没法运行SAPUI5。还记得我们在创建HANA项目时创建的.xsapp文件么,它告诉HANA这是个XS应用。所以没有了它,HANA不知道这是XS应用,自然也就不会运行在XS引擎上。所以我将package改为指向HANA项目的ui文件夹,index.html可以正常运行了!?第四章 OData?OData?http://www.odata.org/?感兴趣的同学可以自己在官网了解更多。这是与webservice相比更轻量级的通讯协议。SAP的Neweaver Gateway?/community/netweaver-gateway就是SAP以OData形式暴露后端业务数据的一个组件。SAPUI5提供的是方便的数据绑定功能,也就是将前端展示组件绑定到后端暴露的OData服务上。基于OData的开发流程如下,在接下来的几章,就会按照这样的顺序实现SAPUI5+HANA Odata的开发。?第六章 创建一个简单地OData服务?SAP HANA SPS05有很多新功能,而其中一个重要的功能就是能够将HANA数据以OData的形式暴露。怎么做?我想如果大家可能都猜到了,通过.xsodata文本文件就可以暴露一个OData服务。service namespace “workshop.services” {“SAP_HANA_EPM_DEMO”.”sap.hana.democontent.epm.data::Partner”as “Partners”;}同样,我想未来SAP HANA Studio应该提供对这些功能的更好支持,而不是用文本文件的形式让开发者编写。在激活xsodata文件后就可以从URL访问HANA的数据了,比如: http://……/services/businessPartners.xsodata/BusinessPartners/?$format=json?第七章 创建复杂的OData服务?上一章的利用OData暴露的数据是简单的一张表,但是实际应用开发中数据模型要复杂得多。关于如何定义OData service,大家可以参考HANA开发者手册/hana_platform#section5,我就不在这里赘述了。?第八章 从用户界面调用OData服务?我们准备创建一个表格控件,绑定后端HANA的一个OData服务器,展示数据。首先修改html文件,引入table控件库&script src=”/sap/ui5/1/resources/sap-ui-core.js”id=”sap-ui-bootstrap”data-sap-ui-libs=”mons,sap.ui.table”data-sap-ui-theme=”sap_goldreflection”&然后是构建是在view里构建整个table。因为只是演示,所以所有代码都写在了view里。?WISH LIST:?又到了提意见的时候了。对于VIEW的构建,目前的开发过程还比较原始,没有所见即所得的或者说声明式的编程方式,不过这是SAP正在开发的一个重要功能。除此以外,很多地方也需要改进,比如说模型的绑定,创建模型,手动输入URL参数,对我来说依然过于原始。可以开发出来一种类似OData Service浏览器的东西供开发者选择绑定对象,是本地的还是远端的OData Service然后自动生成绑定代码。本周的内容结束了。主要介绍的是SAP最新的前端开发框架SAPUI5。这不是我的兴趣所在,而对于前端攻城狮来说,学习它应该是piece of cake。下一周,服务器端的javascript才是HANA XS的特色。一起加油!还有两周课程就结束了!SAP公开课笔记:基于HANA的软件开发 - 第五周总结 - 囧囧有神的SAP顾问 - ITeye技术网站
博客分类:
第一章 服务器端javascript XSJS
按照我们以往开发应用的经验,有客户端开发和服务器端开发。客户端开发在HANA XS应用开发里可以使用SAPUI5,一个完全运行在客户端的JS框架。那么我们也需要开发服务器端逻辑。HANA有SQLScript,但是它没法完全承担起服务器端开发的任务,不然O记也不需要JAVA,所有的应用都用PL/SQL好了。HANA XS应用的服务器端开发语言,依然是javascript。SAP选择了Mozilla SpiderMonkey
作为服务器端JS的虚拟机。不知道为什么没有选择google的V8。SAP选择SJ作为服务器端编程语言,我觉得主要考虑还是因为它够轻量级。因为本身XS Engine就是一个轻量级的应用服务器,当然也要有一个足够轻量级的编程语言。
HANA XS的服务器端JS API参考手册在 HANA XS的JS API的底层实现是由C/C++实现然后以JS API的方式暴露,似的开发人员能够用JS这种易用的语言调用。它能够与HANA XS引擎交互、直接访问HANA DB、处理HTTP请求等。
第二章 创建XSJS服务
本章只是让大家体验一下服务器端JS,有一个感性的认识。从HANA Studio,有一个创建选项:XS Javascript source file,这就是创建XS服务器端JS。本章的示例代码为:
function performMultiply(){
var body = '';
var num1 = $.request.parameters.get('num1');
var num2 = $.request.parameters.get('num2');
answer = num1 * num2;
body = answer.toString();
$.response.setBody(body);
$.response.status = $.net.http.OK;
var aCmd = $.request.parameters.get('cmd');
switch (aCmd) {
case "multiply":
performMultiply();
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
$.response.setBody('Invalid Command: '+aCmd);
我们可以看到,与当年写JAVA Servlet入门程序是很相像的,在服务器端解析http request请求,执行操作,然后构建http response文件。HANA XS JS的API是以美元符号作为前缀的。激活之后就可以打开浏览器运行测试了。
第三章 扩展XSJS服务
本章在上一章基础上演示了一个更复杂一点的XSJS代码。主要的功能是在计算乘法的基础上可以下载excel文件。示例代码如下:
$.import("sap.hana.democontent.epm.services", "messages");
var MESSAGES = $.sap.hana.democontent.epm.services.
function performMultiply(){
var body = '';
var num1 = $.request.parameters.get('num1');
var num2 = $.request.parameters.get('num2');
answer = num1 * num2;
body = answer.toString();
$.response.setBody(body);
$.response.status = $.net.http.OK;
function downloadExcel() {
var body = '';
var query ='SELECT TOP 25000 \"PurchaseOrderId\", \"PartnerId\", \"CompanyName\", \"CreatedByLoginName\", \"CreatedAt\", \"GrossAmount\" '
+ 'FROM \"sap.hana.democontent.epm.data::purchaseOrderHeaderExt\" order by \"PurchaseOrderId\"';
$.trace.debug(query);
var conn = $.db.getConnection();
var pstmt = conn.prepareStatement(query);
var rs = pstmt.executeQuery();
body = MESSAGES.getMessage('SEPM_POWRK', '002') + "\t" + // PurchaseOrder ID
MESSAGES.getMessage('SEPM_POWRK', '003') + "\t" + // Partner ID
MESSAGES.getMessage('SEPM_POWRK', '001') + "\t" + // Company Name
MESSAGES.getMessage('SEPM_POWRK', '004') + "\t" + // Employee Responsible
MESSAGES.getMessage('SEPM_POWRK', '005') + "\t" + // Created At
MESSAGES.getMessage('SEPM_POWRK', '006') + "\n"; // Gross Amount
while (rs.next()) {
body += rs.getNString(1) + "\t" + rs.getNString(2) + "\t"
+ rs.getNString(3) + "\t" + rs.getNString(4) + "\t"
+ rs.getDate(5) + "\t" + rs.getDecimal(6) + "\n";
} catch (e) {
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
$.response.setBody(e.message);
$.response.setBody(body);
$.response.contentType = 'application/vnd.ms- charset=utf-16le';
$.response.headers.set('Content-Disposition',
' filename=Excel.xls');
$.response.headers.set('access-control-allow-origin', '*');
$.response.status = $.net.http.OK;
var aCmd = $.request.parameters.get('cmd');
switch (aCmd) {
case "multiply":
performMultiply();
case "Excel":
downloadExcel();
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
$.response.setBody(MESSAGES.getMessage('SEPM_ADMIN', '002', aCmd));
首先是import功能。这与JAVA没有什么两样。我们可以创建XSJS库文件以便被其它程序使用。import第一个参数书库文件的位置,第二个参数为库文件的名字。我们可以从HANA资源库看到这个库文件。
它里面的内容是一些编写好的function,比如 function getMessage(messageClass,messageNumber,p1,p2,p3,p4)
之后我们可以为这个库文件创建一个别名,如示例代码MESSAGES,然后以这个别名调用库文件内的函数。
代码里第二个值得主义的部分是对HANA数据库的操作。虽然语法类JDBC/ODBC,但是数据并不需要像JDBC调用那样经过网络传递,而是直接在HANA内部进行。
最后是对HTTP response的设置,使得客户端可以下载Excel文件。
第四章 从客户端调用XSJS服务
本章无非是利用SAPUI5(其实用不用都可以)构建一个用户界面,然后调用后端的XSJS文件获得结果。如果在AJAX刚开始流行时写过一点JS代码的相比都能想象得到是怎样的逻辑:在UI控件上设置相关事件和事件相应的函数;在函数里编写异步服务器端请求代码;获得结果的勾子函数用来展示数据。 只不过这一切用SAPUI5来实现罢了。
我们这里要实现的是两个textfield输入乘数与被乘数,在用户输入数值时立即计算并显示出结果。
我们首先创建新的SAPUI5视图和对应的引导文件html。 因为我们要响应控件的事件了,所以这次要在controller里写一些代码
sap.ui.jsview("sapui5.xsjstest", {
getControllerName : function() {
return "sapui5.xsjstest";
createContent : function(oController) {
var multiplyPanel = new mons.Panel().setText("XS Service Test - Multiplication");
multiplyPanel.setAreaDesign mons.enums.AreaDesign.Fill);
multiplyPanel.setBorderDesign mons.enums.BorderDesign.Box);
var layoutNew = new mons.layout.MatrixLayout({width:"auto"});
multiplyPanel.addContent(layoutNew);
var oVal1 = new mons.TextField("val1",{tooltip: "Value #1", editable:true});
var oVal2 = new mons.TextField("val2",{tooltip: "Value #2", editable:true});
var oResult = new mons.TextView("result",{tooltip: "Results"});
var oEqual = new mons.TextView("equal",{tooltip: "Equals", text: " = "});
var oMult = new mons.TextView("mult",{tooltip: "Multiply by", text: " * "});
//Attach a controller event handler to Value 1 Input Field
oVal1.attachEvent("liveChange", function(oEvent){
oController.onLiveChangeV1(oEvent,oVal2); });
//Attach a controller event handler to Value 2 Input Field
oVal2.attachEvent("liveChange", function(oEvent){
oController.onLiveChangeV2(oEvent,oVal1); });
layoutNew.createRow(oVal1, oMult, oVal2, oEqual, oResult );
return multiplyP
大部分代码都是在创建UI控件,只有下面一小部分真正是核心:对控件设置事件以及事件的响应函数。这里面oController就是该视图对应的控制器,用onLiveChange?函数响应textfield值变化这个事件。
Controller
onLiveChangeV1: function(oEvent,oVal2){
//To-Do: Insert Service Call to XSJS Service
var aUrl = '../../../services/Example1.xsjs?cmd=multiply'+
'&num1='+escape(oEvent.getParameters().liveValue)+
'&num2='+escape(oVal2.getValue());
jQuery.ajax({
url: aUrl,
method: 'GET',
dataType: 'json',
success: this.onCompleteMultiply,
error: this.onErrorCall });
onLiveChangeV2: function(oEvent,oVal1){
//To-Do: Insert Service Call to XSJS Service
var aUrl = '../../../services/Example1.xsjs?cmd=multiply'+
'&num1='+escape(oVal1.getValue())+
'&num2='+escape(oEvent.getParameters().liveValue);
jQuery.ajax({
url: aUrl,
method: 'GET',
dataType: 'json',
success: this.onCompleteMultiply,
error: this.onErrorCall });
onCompleteMultiply: function(myTxt){
var oResult = sap.ui.getCore().byId("result");
if(myTxt==undefined){ oResult.setText(0); }
jQuery.sap.require("sap.ui.core.format.NumberFormat");
var oNumberFormat = sap.ui.core.format.NumberFormat.getIntegerInstance({
maxFractionDigits: 12,
minFractionDigits: 0,
groupingEnabled: true });
oResult.setText(oNumberFormat.format(myTxt)); }
onErrorCall: function(jqXHR, textStatus, errorThrown){
mons.MessageBox.show(jqXHR.responseText,
"Service Call Error" );
onLiveChangeV?本身并不是函数名,而是属性,但是由于javascript本身的语言特色,函数也可以是属性,了解如何用JS实现面向对象编程的对这样稍显怪异的语法结构不会陌生。
而对xsjs的调用利用了JQuery的API,里面成功与失败分别赋予了两个勾子函数,用来分别响应对服务器调用的成功与失败。
需要说明的是,在成功的方法里,我们可以看到sap.ui.getCore()方法可以获得UI上的控件,之后可以对其进行操作。
本章的内容其实跟HANA XS无关,甚至于SAPUI5关系都不大。这是多年以前AJAX的基础技术演示。如果对掌握这部分内容有困难的同学,还是先去google百度一下AJAX吧。
第五章 调试XSJS
这与在eclipse里调试其它代码没什么大的不同,只是要满足一些前提条件。
首先要保证HANA XS引擎的debug配置激活了,而且要配置一个端口用来监听debug session。
之后在eclipse里配置一个XSJS debug,指定服务器host和debug监听端口
最后,我们要获得连接HANA XS引擎的session ID。这存在于HTTP请求的cookie里。所以可以通过Chrome自带的developer tool获得xsSessionID
之后,当我们在eclipse里启动debug的时候会弹出窗口,让我们选择要debug的session,这个时候选择你在上一步获得的session即可。
由此可见,debug是很危险的,SAP不建议在生产系统做。我想,我们可以很容易的通过客户端工具篡改xsSessionID然后启动debug来获得其他用户权限的运行结果。
到此第五周的课程就结束了。还有一周,整个课程就结束了。下一周是HANA XS高级开发特性。为最后的考试做好准备吧。
blueoxygen
浏览: 740093 次
我也是做主要做Retail行业的,方便提供密码么,大家可共同交 ...
图片看不到呀
purehunter 写道html5足以开发复杂应用了 看来h ...
skyning 写道我看到native hana applic ...
我看到native hana application是不用ab ...当前所在位置:
对于一个非设计专业的学生来说,想学习 UI 设计,应该从哪入手?应该掌握哪些必...
对于一个非设计专业的学生来说,想学习 UI 设计,应该从哪入手?应该掌握哪些必备的技能和知识?
首先得热爱互联网这个行业,慢慢的培养自己的设计感,审美能力,多看多研究,重新学习就算老师教过意自学也是教一些基础,不过基础打实了,可以加上自己的创意,慢慢的找感觉。
您好,作为一个非设计专业的学生来说,首先要明确你想学习UI设计到什么程度.
1.如果只是作为了解,提高鉴赏,看看理论知识也就可以发表下意见.
2. 如果是打算直接从事UI设计职业, 别偷懒..首先UI设计我觉得必须具备一定的美术功底,而且你必须对色彩等专业方面的只是有一定的了解,了解完了之后呢,你可以慢慢的接触UI设计中常用到的软件,我们平时在设计师,软件是必须要用到的而且是最重要的工具,尤其是photeshop,cdr等常用工具必须非常熟悉。建议你了解这些基础知识之后,经常抽出一些时间进行手动上机操作,因为你平时看到的理论知识比较都只是理论上的,手动炒作才能真正学到东西。
希望我的一些建议可以帮助到你,加油1
您尚未登陆,请
之后再提交答案!
没有账号?
“送人玫瑰 手留余香”,您的建议可能影响他人一生。希望所有用户能够严肃对待回答,尽可能地为用户提供准确、全面、可信、有建设意义的高质量答案。
以下情况,用户回答一经发现,立即删除:
1、回答内容不能出现任何形式的广告、灌水行为,尤其是指向提供单位主站(页)的网址链接;
2、回答内容答非所问,与提问毫无关联或者关联性不大;
3、回答内容不能恶意中伤他人或其他单位的;
4、回答内容禁止复制粘贴大幅网络内容,提供无建设性意见的回答;
5、回答内容存在误导他人的事实性错误或过于偏激的主观臆断;
6、回答内容需符合法律法规及道德规范,不能含有脏话,恶意攻击,恐怖或者教唆犯罪,涉及歧视、误导等内容。
微信扫描分享本页
深圳市一览网络股份有限公司 版权所有 & 粤ICP备号 增值电信业务经营许可证:粤B2-

我要回帖

更多关于 sapui5 的文章

 

随机推荐