Fatti: A. Con pubblicazione sul Foglio ufficiale del Cantone Ticino, il Municipio di X._ ha indetto un concorso, regolato dalla legge sulle commesse pubbliche del 20 febbraio 2001 (LCPubb/TI; RL/TI 7.1.4.1) ed impostato secondo la procedura libera, per l'aggiudicazione del servizio di ritiro e smaltimento degli scarti vegetali per gli anni 2017, 2018 e 2019. Il bando prevedeva che la commessa sarebbe stata aggiudicata tenendo conto dei seguenti criteri e fattori di ponderazione: 1. prezzo 50 %; 2. sede dell'impianto 45 %; 3. formazione apprendisti 5 %. Bando e capitolato fissavano inoltre i criteri d'idoneità precisando che erano abilitate a concorrere le ditte che " (1) hanno la sede in Ticino, iscritta alla scadenza della gara d'appalto, da almeno 2 anni, nel registro di commercio nel ramo della gestione di impianti di compostaggio e (2) sono inserite nella lista degli impianti di compostaggio attivi e riconosciuti in Ticino, elaborata dal Dipartimento del territorio". Il bando e le prescrizioni del capitolato, precisate con scritto 7 giugno 2016, non sono stati oggetto di impugnazione. B. Entro il termine impartito, il Comune di X._ ha ricevuto tre offerte tra cui quella della B._ SA, di fr. 308'448.--, e quella della A._ SA, di fr. 326'592.--. Proceduto alle necessarie valutazioni, con risoluzione del 23 novembre 2016 il Municipio del Comune di X._ ha aggiudicato la commessa alla B._ SA, giunta prima in graduatoria con 5.85 punti. Contro la predetta decisione la A._ SA, seconda classificata con 4.66 punti, è insorta davanti al Tribunale cantonale amministrativo, il quale, con sentenza del 20 aprile 2017, ha respinto il gravame. C. Mediante ricorso in materia di diritto pubblico e, in subordine, ricorso sussidiario in materia costituzionale del 24 maggio 2017, la A._ SA domanda, in riforma del giudizio della Corte cantonale, che l'originaria delibera sia annullata, che l'offerta giunta prima in graduatoria venga scartata e che le venga attribuita la commessa. Con il rimedio ordinario, l'insorgente sostiene che il giudizio impugnato sia arbitrario (art. 9 Cost.) e si traduca in un diniego di giustizia formale (art. 29 Cost.), nella violazione del principio di parità di trattamento dei partecipanti ad un concorso (art. 8 Cost.), della buona fede (art. 9 Cost.) e della concorrenza efficace tra gli offerenti (art. 27 Cost.). Con il rimedio sussidiario, fa invece valere una lesione del divieto d'arbitrio (art. 9 Cost.) del principio di parità di trattamento (art. 8 Cost.), della buona fede (art. 9 Cost.) e della concorrenza efficace (art. 27 Cost.). Il Tribunale cantonale amministrativo, l'opponente e il committente hanno chiesto che i ricorsi, per quanto ammissibili, siano respinti. Nessuna osservazione è per contro giunta dall'Ufficio dei lavori sussidiati e degli appalti. Con decreto del 23 giugno 2017 è stato parzialmente concesso l'effetto sospensivo al ricorso, nel senso che il committente e l'opponente sono stati autorizzati a concludere un contratto valido solo fino alla pronuncia del Tribunale federale.