1. rails相較於.net WebAPI有什麼優勢,有什麼劣勢
rails的優勢就是大家都用同一套框架,大家都給這一套框架來寫gem組件,在自己的開發過程中會大量用到全世界開發人員臘租提供的組件,開發效率肯定比較高。再者ruby是動態語言,所巧灶以在開發上會比靜態語言方便很多。
而劣勢在於沒有微軟這樣的商業公司在背後做支撐,全部都是全世界的開源工輪寬兆作這來做的。
以上屬於個人觀點。
2. java有沒有.net webapi
所謂的webapi其實就是RESTful風格的web服務。
Java怎麼可能沒有呢,而且實際上外面企業用Java來做RESTful服務的應該比用.net來做的更多,畢竟Java跨平台而且性能也優於.net,Linux+Nginx/Apache也比Windows Server+IIS更受推崇。
網路或者谷歌「RESTful Java」兩個關鍵詞,很多資料。
3. asp.net mvc3 項目怎麼開發API介面
Visual Studio為我們提供了專門用於創建ASP.NET Web API應用的項目模板,藉助於此項目模板提供的向導,我們可以「一鍵式」創建一個完整的ASP.NET Web API項目。在項目創建過程中,Visual Studio會自動為我們添加必要的程序集引用和配置,甚至會為我們自動生成相關的代碼,總之一句話:這種通過向導生成的項目在被創建之後其本身就是一個可執行的應用。
對於IDE提供的這種旨在提高生產效率的自動化機制,我個人自然是推崇的,但是我更推薦讀者朋友們去了解一下這些自動化機制具體為我們做了什麼?做這些的目的何在?哪些是必需的,哪些又是不必要的?正是基於這樣的目的,在接下來演示的實例中,我們將摒棄Visual Studio為我們提供的向導,完全在創建的空項目中編寫我們的程序。這些空項目體現在如右圖所示的解決方案結構中。
如右圖所示,整個解決方案一共包含6個項目,上面介紹的作為「聯系人管理器」的單頁Web應用對應著項目WebApp,下面的列表給出了包括它在內的所有項目的類型和扮演的角色。
·Common:這是一個空的類庫項目,僅僅定義了表示聯系人的數據類型而已。之所以將數據類型定義在獨立的項目中,只要是考慮到它會被多個項目(WebApi和ConsoleApp)所使用。
WebApi:這是一個空的類庫項目,表現為HttpController類型的Web API就定義在此項目中,它具有對Common的項目引用。
WebHost:這是一個空的ASP.NET Web應用,它實現了針對ASP.NET Web API的Web Host寄宿,該項目具有針對WebApi的項目引用。
SelfHost:這是一個空的控制台應用,旨在模擬ASP.NET Web API的Self Host寄宿模式,它同樣具有針對WebApi的項目引用。
WebApp:這是一個空的ASP.NET Web應用,代表「聯系人管理器」的網頁就存在於該項目之中,至於具體的聯系人管理功能,自然通過以Ajax的形式調用Web API來完成。
ConsoleApp:這是一個空的控制台應用,我們用它來模擬如何利用客戶端代理來實現對Web API的遠程調用,它具有針對Common的項目引用。
二、定義Web API
在正式定義Web API之前,我們需要在項目Common中定義代表聯系人的數據類型Contact。簡單起見,我們僅僅為Contact定義了如下幾個簡單的屬性,它們分別代表聯系人的ID、姓名、聯系電話、電子郵箱和聯系地址。
1: public class Contact
2: {
3: public string Id { get; set; }
4: public string Name { get; set; }
5: public string PhoneNo { get; set; }
6: public string EmailAddress { get; set; }
7: public string Address { get; set; }
8: }
表現為HttpController的Web API定義在WebApi項目之中,我們一般將ApiController作為繼承的基類。ApiController定義在「System.Web.Http.dll」程序集中,我們可以在目錄「%ProgramFiles%\Microsoft ASP.NET\ASP.NET Web Stack 5\Packages\」中找到這個程序集。具體來說,該程序集存在於子目錄「Microsoft.AspNet.WebApi.Core.5.0.0\lib\net45」中。
Web API體現在如下所示的ContactsController類型中。在該類型中,我們定義了Get、Post、Put和Delete這4個Action方法,它們分別實現了針對聯系人的查詢、添加、修改和刪除操作。Action方法Get具有一個表示聯系人ID的可預設參數,如果該參數存在則返回對應的聯系人,否則返回整個聯系人列表。由於ASP.NET Web API默認實現了Action方法與HTTP方法的映射,所以方法名也體現了它們各自所能處理請求必須採用的HTTP方法。
1: public class ContactsController: ApiController
2: {
3: static List<Contact> contacts;
4: static int counter = 2;
5:
6: static ContactsController()
7: {
8: contacts = new List<Contact>();
9: contacts.Add(new Contact { Id = "001", Name = "張三",
10: PhoneNo = "0512-12345678", EmailAddress = "[email protected]",
11: Address = "江蘇省蘇州市星湖街328號" });
12: contacts.Add(new Contact { Id = "002", Name = "李四",
13: PhoneNo = "0512-23456789", EmailAddress = "[email protected]",
14: Address = "江蘇省蘇州市金雞湖大道328號" });
15: }
16:
17: public IEnumerable<Contact> Get(string id = null)
18: {
19: return from contact in contacts
20: where contact.Id == id || string.IsNullOrEmpty(id)
21: select contact;
22: }
23:
24: public void Post(Contact contact)
25: {
26: Interlocked.Increment(ref counter);
27: contact.Id = counter.ToString("D3");
28: contacts.Add(contact);
29: }
30:
31: public void Put(Contact contact)
32: {
33: contacts.Remove(contacts.First(c => c.Id == contact.Id));
34: contacts.Add(contact);
35: }
36:
37: public void Delete(string id)
38: {
39: contacts.Remove(contacts.First(c => c.Id == id));
40: }
41: }
簡單起見,我們利用一個靜態欄位(contacts)表示存儲的聯系人列表。當ContactsController類型被載入的時候,我們添加了兩個ID分別為「001」和「002」的聯系人記錄。至於實現聯系人CRUD操作的Action方法,我們也省略了必要的驗證,對於本書後續的演示的實例,我們基本上也會採用這種「簡寫」的風格。
4. .net中MVC web項目和webapi有啥區別
首先要重點說的是,Web API是一種無限接近於RESTful風格的輕型框架,且不是微軟提出來的,微軟在.NET上實現了這中框架—http://Asp.Net
Web API,所以「微軟包裝」是一個極大的偏見。
就應用市場時間而論,MVC普及市場的時間比Web API時間早。為什麼MVC提出來了,且都被大家公認是一種經典的web站點實現架構,為什麼還要搞Web API呢?
這兩年什麼炒得最火熱?互聯網。在網路技術不斷更新和替代的過程,網路不斷普及。互聯網產品只要你有技術,就可以做。但要說明的是,互聯網產品的用戶不再是一小部分人群,除了潛在用戶,你需要面對的是龐大的上網人群和開發者。這時候你要考慮你的WEB伺服器是否能夠支持這么多的用戶,節省一點點傳輸數據的帶寬都能夠讓你的伺服器輕松不少,除此之外,你還要考慮你的潛在用戶變成你的真實用戶的某刻時刻,你的伺服器是否能夠順利支撐。
面對用戶,你要考慮你的產品是否能夠讓用戶使用起來感覺很「爽」,你要把用戶體驗放在首位,那麼你的產品首先功能上必須穩定,不然即使有再好的創意,再耐心的用戶總會使用其它產品替代你的產品。
面對開發者,你想要把某些功能開放,這時候你必須要開放某些介面。有人會說,我也可以使用MVC來開放這些介面,沒錯是可以,但是繞遠道給你帶來的是更大的代價。
Web API 和 MVC可以說是兩個不同的東西。Web API更傾向於基於HTTP協議的服務,直接返回用戶的數據請求。MVC是建站的一種框架,傾向於返回用戶的頁面請求。
我總結了以下 http://ASP.NET Web API 的特性,更能說明Web API是一種數據請求框架:
http://ASP.NET
Web API 可以根據請求報文來返回的相應數據格式。包括JSON和XML。http://ASP.NET
Web API 單獨做數據請求和MVC做頁面請求可以讓Web前端和後台更好的解耦,減少開發難度。Web API 可以更好地用在移動端網頁、桌面端網頁或者桌面程序。
Web API 的宿主可以選擇多樣:WebHost,,ConsoleHost,甚至是windows Services。
類似可以理解成ashx和webform的區別
5. c# .net webapi webapi到底可以做什麼除了響應客戶端的響應對資料庫的增刪改查
主要就是交互
所有的交互,都是增刪改查啊
6. VS2013開發.net webapi怎麼允許在內網Debug
把項目部署在你的IIS。調試的時候附加到w3wp 。
7. 目前編寫一款簡單的手機應用APP一般用什麼編程語言
編寫手機App,用什麼語言?
從簡單到復雜,可以分三級:
其實就是把網頁封裝成App。編程語言就是網頁三件套:HTML+CSS+Javascript
有多種工具和框架,如Cordova, uni等等。
這種方式實現「App」最容易,且跨平台,對於iOS和Android做一套就行了。代價是功能弱,性能低,換句話說就是「卡」。
這類方案在iOS和Android之上自行實現一套原生框架。通用的Flutter, ReactNative都是流行的原生跨平台框架。適用於 游戲 的Cocos2D,Corona SDK也可以算在這一級里。
這類方案實現App難度中等,因為跨平台,一次開發,iOS和Android都能運行。功能和性能也是中等,比不上原生App,但比HTML5的又好很多。
直接在iOS和Android上各自開發一套原生App。
iOS可以使用Objective C或Swift。
Android可以使用Java或Kotlin。
還是來一個圖表吧,雖然簡單,卻很明了:
推薦用Flutter,簡單。
以前自己用android原生寫過7天酒店簽到程序,不過當時的安卓還是比較難寫的,不像現在越來越容易上手。
Flutter是一個由谷歌開發的開源移動應用軟體開發工具包,用於為Android、iOS、 Windows、Mac、Linux、Google Fuchsia開發應用。
Flutter應用是使用Dart語言編寫的,雖然是新的一種語言,但是難度不算大,上網搜下相關教程學習下,應該就能很快上手。
這里是我上個月仿照教程弄的一個簡單APP,效果圖如下:
點擊"Next"就切換下一張,點擊"Pre"就切換前一張,點擊「Reset」就全部滑落下來。
我女兒最喜歡中間的Reset效果,哈哈。
希望這個答案能幫到你。
現在Flutter正式版已經出來了,原生性能,安卓iOS多平台支持,谷歌大廠背書,大家可以比較放心的學習。編程語言用的是Dart,可以看做是加了語法糖版本的Java,學習起來也比較容易,如果想做手機app,可以考慮使用它。
如果只是自己做著玩的話推薦用H5開發,開發工具HBuilder或者HBuilderX。
先科普下什麼是IOS和Android吧。IOS只是操作系統而已,是蘋果的操作系統。
開發IOS上運行的APP的話,現在流行的語言是Object-C和Swift。
Android也是操作系統,是谷歌基於Linux內核開發出來的手機操作系統。
開發Android上運行的APP的話,現在流行的語言我覺得仍然還是JAVA。
如果想要真的做一款APP的話,不僅僅會一門語言就夠了,涉及的東西比較多,如下是我給你的學習推薦路線。
學習路線:1:先學習js,然後學習下html 、css。
學習這些可以上菜鳥教程或者W3School網站學習。
開發工具使用vscode或者Notepad++都可以的。
2:了解Mui常用組件(官網:https://dev.dcloud.net.cn/mui/ui/),
熟悉常用API(官網:http://www.html5plus.org/doc/h5p.html)。
3:服務端的開發,要麼用java開發,要麼用.net webapi開發,推薦理由,java目前是主流,.net webapi簡單容易。
java 開發工具IntelliJ IDEA,.net 開發工具 vs。
4:數據存儲使用mysql。
補充說明:如果是想做專業開發APP的話還是建議用java開發客戶端,ios APP則用swift開發。
當然現在為了一套代碼多個平台,使用H5開發專業APP的也有。
會了就可以正式擼代碼實現自己簡單的APP了。
回答完畢,謝謝。我是只說代碼的大餅。
那當然首選是h5套殼了。關於語言方面,我建議還是用PHP吧。隨著進一步學習,可以學習uinapp一鍵多端。H5、小程序、App、小程序支持多個平台上架、微信抖音支付寶網路,希望可以幫助你
目前有三種app開發方式:原生app、混合app、webapp。
原生app:安卓需要java語言,ios需要 objec t-c,wp需要的.net語言。這種app用戶體驗最好,性能也是最好的,開發成本高,開發周期長,一款app需要開發多個語言版本;
混合app:需要h5,javascript,了解每個混合框架,比如appcan、hbulider、phonegap等等,以及封裝的中間件。這種開發方式的用戶體驗、性能沒有原生的好,但是他的開發周期短,開發成本低,對開發人員技能掌握比較高,開發一套程序可以兼容到多個設備上;
webapp:需要h5、javascript語言,不能調用底層設備,用戶體驗效果次之,開發簡單,開發成本低,開發周期短,可以兼容多個設備。
綜上所述三種開發各有優缺點,要根據具體的項目需求來選擇適合自己的開發語言和開發場景。
uniapp了解下,多端應用。app的話要考慮安卓和蘋果,但學了二種學習成本比較高。用uniapp就解決了。
現在中小型企業都在逐漸採用跨平台開發的模式 效率高 成本低 作為個人更是開發不二的選擇 你問的iOS和安卓是原生開發 需要不同的開發語言和框架 學習成本也很高 既然你說你是小白 如果採用原生開發 可能得大概花一年半載才能開始上手
採用跨平台開發 只需要學習一下html css JavaScript 然後選擇跨平台開發框架 比如react flutter uniapp 都可以 跨平台就是指你這一套代碼編寫的app可以到不同平台運行 比如iOS安卓都OK 但其實很多還可以編譯到各類小程序平台運行 所以很方便
我這里推薦uniapp 一個基於vue的跨端開發框架 我自己也用這個開發了很多項目 確實很快 也提供了原生渲染能力 不做 游戲 等軟體 基本沒啥問題 社區插件市場也很熱鬧 基本有問題可以很快解決 希望可以幫到你。
按照開發方式可分為原生開發、混合開發、webapp開發,不同的開發方式學習的編程語言不一樣,下面我們來一個一個分析一下:
一、原生開發
原生開發的編程語言主要為針對IOS運行環境的為編程語言為Swift或Object c,安卓環境為Java或Kotlin,WP環境為NET。原生開發的運行效率最高,用戶體驗最好,但是需要學習不同平台的編程語言,學習門檻較高。
二、混合開發(偽原生開發)
混合開發技術主要採用一套特別的渲染引擎來渲染UI界面和交互,按照渲染引擎可分為html與dart,其編程語言主要是Javascript或Typescript、Dart。
目前基於html渲染的開發框架有react native、weex、uniapp,基於dart的開發框架只有flutter。
混合開發由於調用了原生的控制項來渲染UI,所以載入和體驗與原生差不多,學習成本比較低,只要會js,選擇一個框架開發就行了,或者學習dart語言,進行flutter開發。
三、webapp開發
webapp開發主要利用原生環境中的瀏覽器控制項來裝載伺服器上的html頁面,實際這個app就是一個自定義的瀏覽器app,所以只要會html,就會開發webapp,由於app內部載入的是遠程的網頁,所以載入速度和體驗最差。
以上是我個人的總結,有不對的歡迎指出,謝謝。
本人用c#,除了單片機用c,cad CATIA,多媒體主要Adobe,它幹完所有,不需要性能的視圖混合dom代碼。