วิธีการพัฒนาแอพแท็บเล็ตสายธุรกิจให้เป็นนักพัฒนา. NET [ปิด]


9

บริษัท ของฉันมีประสบการณ์มากมายในการพัฒนา. NET และเป็นหนึ่งในผลิตภัณฑ์ของเราในระบบ ERP เมื่อเร็ว ๆ นี้ลูกค้าคนหนึ่งถามเราว่าจะให้ส่วนต่อประสานแท็บเล็ตกับระบบนั้นหรือไม่นั่นคือซอฟต์แวร์ที่อนุญาตให้ลูกค้าดูข้อมูลผลิตภัณฑ์และสร้างคำสั่งซื้อบนแท็บเล็ต

แน่นอนว่าเราไม่ได้ตื่นเต้นกับความคิดของการลงทุนเวลาและเงินจำนวนมากในการเรียนรู้ Objective-C, ซื้อเวิร์คสเตชั่การพัฒนา Mac, การจ่ายค่าบริการให้กับ Apple และอื่น ๆ สำหรับโครงการนี้ (เราอาจขายแอปได้ สำหรับลูกค้าเพิ่มเติมไม่กี่รายในภายหลัง แต่ตลาดมีขนาดเล็กมากเนื่องจากจะเป็นประโยชน์สำหรับลูกค้าปัจจุบันของระบบ ERP ของเราเท่านั้น)

ดังนั้นเราควรทำอย่างไร เท่าที่ฉันเห็นเรามีตัวเลือกดังต่อไปนี้:

  • เขียน " แอปพลิเคชัน Windows แบบเก่าธรรมดา " (WPF) และเรียกใช้บนแท็บเล็ต Windows 7 เช่น Samsung Slate หรือ Acer Iconia

    ข้อเสีย: อุปกรณ์หนักราคาแพงที่มีเวลาทำงานสั้น (เมื่อเทียบกับแท็บเล็ต "ของจริง")

  • รอแท็บเล็ตที่ใช้ Windows 8 ARMแล้วเขียนแอพ Metro (WinRT)

    ข้อเสีย: รออย่างน้อยหนึ่งปี ไม่ชัดเจนว่า Windows 8 ARM จะสนับสนุนการติดตั้งแอพ B2B แบบกำหนดเองโดยไม่ต้องผ่านแอพสโตร์หรือไม่

  • ใช้โมโนสำหรับ Androidและเขียนแอป. NET สำหรับ Android

    ข้อเสีย: อีกหนึ่งไลบรารี UI (แตกต่างจาก WPF และ Silverlight); ผู้ให้บริการบางรายไม่อนุญาตให้มีการกีดกันแอพ

จนถึงตอนนี้ตัวเลือกที่ 1 และ 3 ดูเหมือนจะสมจริงที่สุด ฉันพลาดข้อเสียหรือข้อดีที่เห็นได้ชัดหรือไม่? มีตัวเลือกอื่นที่ฉันยังไม่ได้พิจารณาหรือไม่? คุณเคยอยู่ในสถานการณ์ที่คล้ายกันและ (สำเร็จ) ได้เลือกตัวเลือกหนึ่งอย่างหรือไม่?


2
@Downvoter: ข้อเสนอแนะในการปรับปรุงคำถามที่เป็นที่นิยม ...
Heinzi

11
คุณลืมสองตัวเลือกอื่น ๆ : 1. ) การเรียนรู้ Java และเขียนแอพ Android หรือ 2. )
Say

สำหรับคำแนะนำบางอย่างเกี่ยวกับการพัฒนามือถือสำหรับนักพัฒนา .NET ฟังพอดคาสต์นี้: hanselminutes.com/305/...
Treb

1
@FrustratedWithFormsDesigner ดูคำตอบของฉัน
ediblecode

1
@Nupul: ไม่ฉันไม่มีคำตอบฉันมีเพียงหนึ่งตัวเลือก (เขียนแอป iPad ดั้งเดิมใน Objective-C) ตัดออก ยังมีตัวเลือกอื่น ๆ ซึ่งอาจเป็นไปได้ทางเศรษฐกิจดังนั้นคำถามของฉันที่นี่ ;-)
Heinzi

คำตอบ:


10

JQuery มือถือ + รูปร่างโทรศัพท์ Gap

นี่คือการพูดโดยทั่วไปว่า "ใช้ HTML5 และ JavaScript เพื่อสร้างแอปของคุณ" ดังที่ได้กล่าวไว้ก่อนหน้านี้ แต่มีความสำคัญอย่างยิ่ง

บริการPhone Gap Buildของ Nitobi (ปัจจุบันเป็นเจ้าของโดย Adobe) ช่วยให้นักพัฒนาสามารถแปลงแอพ HTML5 / JavaScript เป็นแอพ "เนทีฟ" (แอพไฮบริดจริงๆ) ที่สามารถนำไปใช้กับอุปกรณ์ได้ ฉันเข้าใจว่าโดยทั่วไปสิ่งที่เกิดขึ้นภายใต้ประทุนคือการบรรจุไบนารีเนทีฟขนาดเล็กที่เรียกเบราว์เซอร์ดั้งเดิมและโหลดไซต์ของคุณจากไฟล์: // URL

คุณไม่จำเป็นต้องกำหนดเป้าหมายกรอบงานจาวาสคริปต์ใด ๆ - HTML และ JavaScript แบบเดียวกับที่ทำงานได้ดีในเว็บแอพมือถือจะทำงานได้ดี

การสนับสนุนออฟไลน์ก็ไม่ยากเช่นกัน ด้วยพื้นที่จัดเก็บเบราว์เซอร์ท้องถิ่นที่รองรับอุปกรณ์มือถือมากมายคุณจึงสามารถสร้างแอปออฟไลน์ที่ทรงพลังอย่างแท้จริงได้ด้วยวิธีนี้ วิธีปฏิบัติที่ดีที่สุดในการทำแพ็กเกจการอ้างอิงภายนอกของคุณในพื้นที่แทนที่จะใช้ CDN เพื่อให้แอปของคุณทำงานได้ดีในแบบออฟไลน์

เฟรมเวิร์กเช่นKnockoutJSและBackboneJSมีประโยชน์อย่างมากในการช่วยให้คุณสร้างแอพ JavaScript ที่ได้รับการออกแบบมาอย่างดีและพวกมันก็ทำงานได้ดีกับบริการสร้างของ Phone Gap

เมื่ออุปกรณ์ออนไลน์คุณสามารถให้มันกดบริการ ASP.NET/MVC, WebAPI หรือ WCF ได้อย่างง่ายดายเพื่อสิ้นสุดการรีเฟรชข้อมูล

แอพที่เกิดขึ้นนั้นค่อนข้างดีจริงๆและสามารถเผยแพร่ได้ในตลาด Apple และ Android มีแอพมากมายในตลาดที่สร้างด้วย Phone Gap Build และผลิตภัณฑ์อื่นที่คล้ายคลึงกันและ 99% ของผู้คน (รวมถึง devs ส่วนใหญ่) ไม่สามารถบอกความแตกต่างได้

เห็นได้ชัดว่าคุณจะไม่พยายามสร้าง Angry Birds ด้วยวิธีนี้ (แม้ว่า Canvas ฉันคิดว่าคุณน่าจะลอง) มันใช้งานได้ดีกับแอพประเภทต่างๆที่คุณกำลังพูดถึง

อย่าใช้คำพูดของฉันมัน PhoneGap ได้รับการทำรอบในวงจรพอดคาสต์ที่ได้รับเมื่อเร็ว ๆ นี้Hanselminutes , DotNetRocksและแท็บเล็ตแสดง นอกจากนี้ผมเขียนเกี่ยวกับเรื่องนี้ในที่ผ่านมาโพสต์บล็อก


+1 ฉันคิดว่านี่เป็นวิธีที่ดีที่สุดในการเขียนแอปแท็บเล็ตแบบดั้งเดิม
Eric King

ฉันอาจลองทำสิ่งนี้เพื่อให้ได้แอพหรือสองอย่าง ...
SoftwareSavant

13

ดูข้อมูลผลิตภัณฑ์และสร้างคำสั่งซื้อ

เสียงเหมือนสิ่งที่ดีในความสามารถของ HTML 5 (และเทคโนโลยีที่เกี่ยวข้องมักจะกล่าวถึงในลมหายใจเดียวกัน) เขียนโปรแกรมประยุกต์บนเว็บที่อุดมไปด้วยและคุณทันทีสนับสนุนอุปกรณ์ใด ๆ กับเบราว์เซอร์


2
จากมุมมองทางเทคนิคคุณเห็นถูกต้อง แต่จากประสบการณ์ของฉันคนที่ยินดีซื้อแท็บเล็ตคาดว่าจะมีอะไรที่มันแวววาวกว่าเว็บแอป
Treb

3
@Treb - Jakob Nielsen มีความคิดที่น่าสนใจในหัวข้อนี้: useit.com/alertbox/mobile-sites-apps.html
jfrankcarr

2
แท็บเล็ตจำนวนมากอนุญาตให้คุณ "ติดตั้ง" แอปพลิเคชันเว็บเพื่อให้ดูเหมือนเป็นแอปพลิเคชัน ดังนั้นฉันจะไม่นับสิ่งนี้เพราะ HTML5 ไม่ปรากฏขึ้นเหมือนแอพ ดูเหมือนว่าตัวเลือกที่ดีที่สุดสำหรับฉัน
RationalGeek

3
นอกจากนี้ ... สิ่งนี้ไม่ได้แยกออกเป็นสองส่วน: Web App และแอปเนทีฟ HTML5 เป็นตัวเลือกที่ครอบคลุม ... เมื่อสร้างและดำเนินการแล้วคุณสามารถสร้างแอพ Android / Apple / Metro / Blackberry ซึ่งเป็นตัวเลือกหากธุรกิจเลือกใช้ เว็บไซต์หลายแห่งมีตัวเลือกให้คุณติดตั้งแอพสำหรับเว็บไซต์ของพวกเขา
WernerCD

2
@Treb - เป็นไปได้ที่จะสร้างแอพพลิเคชั่นเว็บที่สวยงาม อย่างน้อยฉันก็ต้องการดูข้อกำหนดที่เกี่ยวข้องกับความเงางามของพวกเขา
psr

4

ฉันขอแนะนำให้พัฒนาเป็นเว็บแอป MVC สิ่งนี้จะช่วยให้คุณเรียกใช้บนอุปกรณ์ส่วนใหญ่จากเดสก์ท็อปไปยังสมาร์ทโฟนที่คุณออกแบบมาได้ดี HTML5 อาจทำงานได้ แต่จะขึ้นอยู่กับประเภทของอุปกรณ์ / เบราว์เซอร์ที่คุณต้องการสนับสนุน มันจะดีถ้าคุณสามารถใช้มันได้ ตรวจสอบให้แน่ใจว่าคุณสร้างมันไว้ในที่ที่คุณสามารถปรับบางส่วนให้เป็นแบ็กเอนด์ WCF กับแอพ Metro ในอนาคต


3

หากคุณต้องการใช้ประโยชน์จากความรู้. NET ที่มีอยู่คุณควรใช้วิธีการ SOA และใช้ประโยชน์จากการทำงานให้มากที่สุดเท่าที่จะเป็นไปได้ในเว็บเซอร์วิส (SOAP หรือ REST ให้เลือกวิธีที่เหมาะสมกับคุณที่สุด) ด้วยวิธีนี้คุณจะต้องมีแอปไคลเอนต์ขนาดเล็กบนอุปกรณ์ซึ่งจะเรียกใช้ฟังก์ชันการบริการบนเว็บเท่านั้นและแสดงผลลัพธ์ นี่ควรจะง่ายกว่าการพัฒนามากกว่าไคลเอนต์แบบเต็มเป่าซึ่งใช้ตรรกะทางธุรกิจไม่ว่าลูกค้าที่คุณเลือก

นอกจากนี้ยังอนุญาตให้เพิ่มการสนับสนุนสำหรับอุปกรณ์ต่าง ๆ ในภายหลังสิ่งที่คุณต้องมีคือแอพไคลเอนต์ขนาดเล็กสำหรับอุปกรณ์ใหม่

ในการเลือกอุปกรณ์ฉันเห็นเกณฑ์สองข้อ:

  1. เลือกอันที่ลูกค้าปัจจุบันของคุณโปรดปราน (ถ้าพวกเขาขอแอปแท็บเล็ตพวกเขาจะให้ความคิดกับมัน)
  2. เลือกหนึ่งที่มีแนวโน้มมากที่สุดที่จะได้รับการยอมรับจากลูกค้ารายอื่นเช่นกัน นี่อาจเป็น iPad หรือ Kindle Fire ได้เป็นอย่างดีเพราะผู้คนได้เห็นแล้ว

ไม่ว่าในกรณีใด ๆ อย่ารอให้อุปกรณ์ที่ไม่ได้อยู่ในตลาด ที่จะแยกตัวเลือกของคุณ 2 (Windows 8 บนแท็บเล็ต ARM)


ตามประกาศของวันนี้ wrt Microsoft Surface อุปกรณ์อาจอยู่ในตลาดเร็ว ๆ นี้
Mamta D

0

แอปพลิเคชัน Windows ใด ๆ จะหมายความว่าคุณเชื่อมโยงกับ MS นอกจากนี้ Silverlight และ iOS / IE 10 ยังทำงานร่วมกันไม่ได้ ใช้ HTML 5 และ JavaScript พร้อมกับบริการบนเว็บและ / หรือ JQuery เครื่องมือของบุคคลที่สามเช่นTelerik-Kendo UIควรทำให้ GUI ของคุณเย็นพอสำหรับ LOB App Dot Net อาจมีคุณค่าทางฝั่งเซิร์ฟเวอร์เท่านั้น


-1

ความคิดเห็นล่าสุดนั้นบอกว่าทุกอย่างจริง ๆ : 'Dot Net อาจมีคุณค่าทางฝั่งเซิร์ฟเวอร์เท่านั้น' - บางที Microsoft น่าจะเรียกมันว่าไม่ได้? หรือ. Windows เท่านั้น

คุณไม่สามารถแม้แต่เขียนแอปฝั่งไคลเอ็นต์ Windows RT ใน. Net

เป็นความจริงที่ว่าในการเล่นเกมข้ามแพลตฟอร์มตรรกะทางธุรกิจและบริการข้อมูลของคุณที่เขียนด้วย. Net ต้องอาศัยอยู่บน windows server และเปิดเผย API ที่เป็นมิตรกับเว็บ ASP.Net Web API ล่าสุดเกือบจะเป็นจุดแข็งของภาคอุตสาหกรรมในเดือนเมษายน 2556 ซึ่งจะช่วยให้คุณสามารถเปิดเผยออบเจ็กต์. Net ในฐานะ JSON เพื่อให้แอปด้านไคลเอนต์ JQuery / JS สามารถรวมได้อย่างง่ายดาย

ในฝั่งไคลเอ็นต์คุณไม่สามารถใช้. Net คุณต้องเขียนรหัส UI ทั้งหมดของคุณใน HTML / CSS / JQuery และตรรกะของคุณโดยใช้ JS ด้วยอาจจะทำให้ล้มลงสำหรับการผูกข้อมูลที่มุ่งเน้น

สำหรับเรานักพัฒนา. NET เพียงแค่วาดส่วนติดต่อผู้ใช้ของเราโดยไม่ต้องมีเครื่องหมายการตลาดเป็นนิพพานในการพัฒนาแอพ LOB ใครก็ตามที่เกิดขึ้นกับ. Net framework ที่ทำงานได้ดีเช่นเดียวกับ VS / .Net / WinForms / C # / VB.Net จะปกครองโลก - และ NO - ในความคิดของฉัน Mono ไม่มีที่ไหนเลย (ไม่มีการสนับสนุนจากผู้ขายส่วนประกอบบุคคลที่สาม) ใกล้ VS / .Net / WinForms


ฉันต้องลงคะแนนคำตอบนี้เพราะคำแถลงเท็จ "คุณไม่สามารถแม้แต่เขียนแอพฝั่งไคลเอ็นต์ Windows RT ใน. Net"
Ramhound

ขออภัยฉันไม่เห็นด้วยกับการยืนยันของคุณอย่างสมบูรณ์ว่าคุณสามารถเขียนแอปพลิเคชั่น. Net สำหรับ Windows RT - หลักฐานของคุณอยู่ที่ไหน
TriSys

ฉันจะกัด คุณหมายถึงอะไรโดย "แอปฝั่งไคลเอ็นต์" เพราะฉันใช้มันมีบางอย่างที่เฉพาะเจาะจงมากเมื่อปีที่แล้ว เพราะฉันสัญญากับคุณฉันได้เขียน.NET 4.5.1 Windows Store/WinRTแอพพลิเคชั่นและเผยแพร่ไปยังร้าน ฉันใช้ C # ถ้าคุณสงสัยและแอปพลิเคชันทั้งหมดจะถูกจัดเก็บด้านลูกค้า
Ramhound
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.